天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP句法規(guī)則詳解 入門學(xué)習(xí)

1.簡單句法規(guī)則(用花括號界定變量名,適用于php所有版本):
復(fù)制代碼 代碼如下:
$a ='flower';
echo "She received some $as";// 無效;字母s會被當(dāng)成有效的變量名組成元素,但是這里的變量是$a
echo "She received some ${a}s";// 有效
echo "She received some {$a}s";// 有效;推薦的使用方法

我們希望表達(dá)的是”她收到一些花“,語境中的flower應(yīng)該采用復(fù)數(shù)形式(也就是說應(yīng)該在后面加上S),但是如果不對變量做任何界定的話,就會出現(xiàn)第一個echo的情況。顯然我們希望輸出的是$a而不是$as。那么我們通常是怎么來處理這個輸出的呢?
復(fù)制代碼 代碼如下:
echo "She received some $a"."s";
echo "She received some ".$a."s";// 這兩種習(xí)慣性的寫法應(yīng)該沒有加花括號的寫法簡潔明了吧?

注意:不管{是出現(xiàn)在$前面還是后面,只有兩者緊挨著時花括號才會被當(dāng)成是界定符號。不要在之間加空格,要不然就會被當(dāng)作普通的花括號處理

echo "She received some { $a}s";// 輸出的結(jié)果為:She received some { flower}s


2.復(fù)雜句法規(guī)則(用花括號界定表達(dá)式等,使用與php4+):
復(fù)制代碼 代碼如下:
echo "有效的寫法: {$arr[4][3]}";// 有效;界定多維數(shù)組
echo "有效的寫法: {$arr['foo'][3]}";// 有效;當(dāng)在字符串中使用多維數(shù)組時,一定要用括號將它括起來
echo "有效的寫法: {$this->width}00";// 有效;如果不界定的話,就會變成 $this->width00
echo "有效的寫法: {$this->value[3]->name}";// 有效;該例演示了界定鏈?zhǔn)秸{(diào)用
echo "有效的寫法: $name: {${$name}}";// 有效;該例演示的效果實際上是一個可變變量
echo "有效的寫法: {${getName()}}";// 有效;該例演示了將函數(shù)的返回值作為變量名
echo "有效的下發(fā): {${$this->getName()}}";// 有效;該例演示了將函數(shù)的返回值作為變量名

注意1:echo "這樣寫有效嗎: {getName()}";輸出結(jié)果為:'這樣寫有效嗎:
{getName()}'。因為里面不含$,所以花括號不會被當(dāng)作界定符
注意2:echo "這樣寫有效嗎:{$arr[foo][3]}"; 在回答這個問題前我們先來進(jìn)行一個實驗:
復(fù)制代碼 代碼如下:
error_reporting(E_ALL);
$arr = array('a','b','c','d'=>'e');
echo "This is $arr[d]";// 我們發(fā)現(xiàn)這樣寫是沒有問題的,那么我們像下面這樣寫呢?
echo $arr[d];

產(chǎn)生了這樣的錯誤:
Notice: Use of undefined constant d - assumed 'd'
注意:采用了未定義的常量d,可能應(yīng)該為'd'
那么如果我們像下面這樣修改一下代碼的話
復(fù)制代碼 代碼如下:
error_reporting(E_ALL);
$arr = array('a','b','c','d'=>'e');
define('f','d');
echo $arr[f];

我們發(fā)現(xiàn)這次沒有問題了。可以看出在字符串中數(shù)組的索引不加單引號是沒有問題的,但是如果這種寫法不是出現(xiàn)在字符串當(dāng)中就會報錯,而對于字符串中 {$arr[foo][3]}的解析就是按照非字符串的方式解析的。所以說在字符串當(dāng)中對數(shù)組只加花括號界定而不對索引加單引號的寫法是錯誤的。因為程序 會把不加單引號的索引當(dāng)作是常量來進(jìn)行解析,這就產(chǎn)生了錯誤。正確的寫法應(yīng)該是:

echo "有效的寫法: {$arr['foo'][3]}";

特別提醒一點:echo "This is $arr[d]";這種寫法雖然能夠被程序解析,但這也僅限于數(shù)組是一維數(shù)組的情況。嚴(yán)謹(jǐn)?shù)膶懛☉?yīng)該是:echo "This is {$arr['d']}";我的學(xué)生曾經(jīng)在這一點上和我爭論過,他說:既然前面一種寫法能出結(jié)果,為什么一定要用后面一種寫法呢?那么,我們再繼續(xù)修改一 下前面的代碼
復(fù)制代碼 代碼如下:
error_reporting(E_ALL);
$arr = array('a','b','c','d'=>array('e'=>'f'));
echo "This is $arr[d][e]";

這樣還能夠被正確解析嗎?我只想告訴你,加花括號是嚴(yán)謹(jǐn)?shù)谋匾摹.?dāng)然,如果你不是我的學(xué)生那么我管不了那么多......

注意3:
復(fù)制代碼 代碼如下:
error_reporting(E_ALL);
$arr = array('a','b','c','d');
echo "This is {$arr[2]} <br />";
echo "This is {$arr['2']} <br />";

執(zhí)行上面的代碼。結(jié)果是一樣的,為什么會這樣呢?我只能告訴你php是弱類型語言,至于什么叫弱類型語言我就不在這里多說了。自己去Google一下吧。說了這么多,那么最能體現(xiàn)這些句法規(guī)則優(yōu)勢的具體應(yīng)用在什么地方呢?----SQL語句
復(fù)制代碼 代碼如下:
// 示例一:
$SQL1 ="select * from table where id={$_GET['id']}";// 示例二:
$SQL2 ="select * from table where id={$this->id}";

OK,花括號我們就玩到這里了。

php技術(shù)PHP句法規(guī)則詳解 入門學(xué)習(xí),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美艳人妻在厨房翘着屁股 | 午夜在线观看免费完整直播网页 | 午夜在线观看免费完整直播网页 | 国产毛片A级久久久不卡精品 | 婷婷精品国产亚洲AV在线观看 | 青青app | 免费人成视频19674不收费 | 亚洲 无码 制服 日韩 | 手机国产视频福利 | a视频在线观看 | 美美哒高清在线播放8 | 日韩美一区二区 | 国产不卡视频在线观看 | 国产午夜免费不卡精品理论片 | 亚洲青青草 | chinesetoilet美女沟 | 啊轻点啊再深点视频免费 | 女人被躁到高潮嗷嗷叫免费 | 午夜亚洲WWW湿好大 午夜性爽视频男人的天堂在线 | 男人边吃奶边挵进去呻吟漫画 | 男人电影天堂手机 | 伊人久久大香线蕉观看 | 4399日本电影完整版在线观看免费 | 国产成人国产在线观看入口 | 伊在香蕉国产在线视频 | 久久综合视频网站 | 国产精品永久免费视频观看 | 草莓视频在线看免费高清观看 | 国产一及毛片 | 日日噜噜夜夜狠狠扒开双腿 | 国产精品观看视频免费完整版 | 国产亚洲精品久久孕妇呦呦你懂 | 日韩精品一卡二卡三卡四卡2021 | 欧美国产影院 | 国产精品AV视频一二三区 | 国产中文视频无码成人精品 | 品色堂主页 | 农村脱精光一级 | 国内精品视频久久久久免费 | 男人都懂www深夜免费网站 | 九九99亚洲精品久久久久 |