實(shí)例如下:
<?php //點(diǎn)和逗號(hào)的測(cè)試,涉及到字符串的強(qiáng)制轉(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 />"; //用逗號(hào),不需要空格
echo '1+5='. 1,"<br />"; //用連接符,需要空格,否則報(bào)錯(cuò)
echo '1+5=',100+200,"<br /><br />"; //用逗號(hào),常用于輸出多個(gè)變量,不影響輸出
//省去了字符串拼接的步驟,理論上在 echo 的時(shí)候用“逗號(hào)”會(huì)快一點(diǎn)。
//換成用連接符,注意了,看以下測(cè)試:
echo '注意了!<br />';
echo '1+5='. 100,"<br />"; //注意 .和100之間需要空格,否則報(bào)錯(cuò)
echo '1+5='. 200,"<br />";
echo '1+5='. 100+200,"<br />"; //此處結(jié)果開始異常了
echo '1+5='. 200+100,"<br />";
echo ('1+5='. 200)+100,"<br />"; //從與上面的結(jié)果相同可以看出,連接符的優(yōu)先級(jí)高于運(yùn)算符
echo "<br />";
//先來看看字符串的強(qiáng)制轉(zhuǎn)換
echo (int)'abc1'; echo "<br />";
echo (int)'1abc'; echo "<br />";
echo (int)'22abc'; echo "<br /><br />";
//結(jié)果:將一個(gè)字符串強(qiáng)制轉(zhuǎn)換成一個(gè)數(shù)字,PHP會(huì)去搜索這個(gè)字符串的開頭,
//如果開頭是數(shù)字就轉(zhuǎn)換,如果不是就直接返回0.
//回到測(cè)試的問題
echo '結(jié)果分析:';
echo '1+5='. 100+200,"<br />";
/* 程序是這樣執(zhí)行的,
* 先連接 '1+5='.100 結(jié)果是字符串 '1+5=100',
* 然后執(zhí)行運(yùn)算,字符串要與數(shù)字進(jìn)行運(yùn)算會(huì)被系統(tǒng)強(qiáng)制轉(zhuǎn)換,字符串'1+5=100'轉(zhuǎn)換后的值就是1,
* 最后1+200=201.
*/
/* 用逗號(hào)為什么沒問題呢?
手冊(cè)上說了:用逗號(hào)是multiple parameters .也就是說是多參數(shù),
換句話說,逗號(hào)分隔開的就相當(dāng)于是N個(gè)參數(shù).也就是說把echo當(dāng)個(gè)函數(shù)用,
這樣的話,echo會(huì)對(duì)每個(gè)參數(shù)先進(jìn)行計(jì)算,最后再進(jìn)行分別輸出,所以我們用逗號(hào)就不存在上面的問題了
*/
?>
結(jié)果如下:
以上這篇基于php中echo用逗號(hào)和用點(diǎn)號(hào)的區(qū)別詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持編程學(xué)習(xí)網(wǎng)。
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!