?php //點和逗號的測試,涉及到字符串的強制轉(zhuǎn)換
echo 1+5;
echo "br />br />";
echo '1+5='."1+5"."br />";
echo '1+5='."5+1","br />br />";
echo '1+5=',1,"br />"; //用逗號,不需要空格
echo '1+5='. 1,"br />"; //用連接符,需要空格,否則報錯
echo '1+5=',100+200,"br />br />"; //用逗號,常用于輸出多個變量,不影響輸出
//省去了字符串拼接的步驟,理論上在 echo 的時候用“逗號”會快一點。
//換成用連接符,注意了,看以下測試:
echo '注意了!br />';
echo '1+5='. 100,"br />"; //注意 .和100之間需要空格,否則報錯
echo '1+5='. 200,"br />";
echo '1+5='. 100+200,"br />"; //此處結果開始異常了
echo '1+5='. 200+100,"br />";
echo ('1+5='. 200)+100,"br />"; //從與上面的結果相同可以看出,連接符的優(yōu)先級高于運算符
echo "br />";
//先來看看字符串的強制轉(zhuǎn)換
echo (int)'abc1'; echo "br />";
echo (int)'1abc'; echo "br />";
echo (int)'22abc'; echo "br />br />";
//結果:將一個字符串強制轉(zhuǎn)換成一個數(shù)字,PHP會去搜索這個字符串的開頭,
//如果開頭是數(shù)字就轉(zhuǎn)換,如果不是就直接返回0.
//回到測試的問題
echo '結果分析:';
echo '1+5='. 100+200,"br />";
/* 程序是這樣執(zhí)行的,
* 先連接 '1+5='.100 結果是字符串 '1+5=100',
* 然后執(zhí)行運算,字符串要與數(shù)字進行運算會被系統(tǒng)強制轉(zhuǎn)換,字符串'1+5=100'轉(zhuǎn)換后的值就是1,
* 最后1+200=201.
*/
/* 用逗號為什么沒問題呢?
手冊上說了:用逗號是multiple parameters .也就是說是多參數(shù),
換句話說,逗號分隔開的就相當于是N個參數(shù).也就是說把echo當個函數(shù)用,
這樣的話,echo會對每個參數(shù)先進行計算,最后再進行分別輸出,所以我們用逗號就不存在上面的問題了
*/
?>