基於php中echo用逗號和用點號的區別詳解

實例如下:
01
<?php //點和逗號的測試,涉及到字符串的強制轉換
02
echo 1+5;
03
echo "<br /><br />";
04

05
echo '1+5='."1+5"."<br />";
06
echo '1+5='."5+1","<br /><br />";
07

08
echo '1+5=',1,"<br />"; //用逗號,不需要空格
09
echo '1+5='. 1,"<br />"; //用連接符,需要空格,否則報錯
10
echo '1+5=',100+200,"<br /><br />"; //用逗號,常用於輸出多個變量,不影響輸出
11
//省去了字符串拼接的步驟,理論上在 echo 的時候用“逗號”會快一點。
12

13
//換成用連接符,注意了,看以下測試:
14
echo '注意了!<br />';
15
echo '1+5='. 100,"<br />"; //注意 .和100之間需要空格,否則報錯
16
echo '1+5='. 200,"<br />";
17
echo '1+5='. 100+200,"<br />"; //此處結果開始異常了
18
echo '1+5='. 200+100,"<br />";
19
echo ('1+5='. 200)+100,"<br />"; //從與上面的結果相同可以看出,連接符的優先級高於運算符
20
echo "<br />";
21

22
//先來看看字符串的強制轉換
23
echo (int)'abc1'; echo "<br />";
24
echo (int)'1abc'; echo "<br />";
25
echo (int)'22abc'; echo "<br /><br />";
26
//結果:將一個字符串強制轉換成一個數字,PHP會去搜索這個字符串的開頭,
27
//如果開頭是數字就轉換,如果不是就直接返回0.
28

29
//回到測試的問題
30
echo '結果分析:';
31
echo '1+5='. 100+200,"<br />";
32
/* 程序是這樣執行的,
33

  • 先連接 '1+5='.100 結果是字符串 '1+5=100',
    34
  • 然後執行運算,字符串要與數字進行運算會被系統強制轉換,字符串'1+5=100'轉換後的值就是1,
    35
  • 最後1+200=201.
    36
    /
    37
    /
    用逗號爲什麼沒問題呢?
    38
    手冊上說了:用逗號是multiple parameters .也就是說是多參數,
    39
    換句話說,逗號分隔開的就相當於是N個參數.也就是說把echo當個函數用,
    40
    這樣的話,echo會對每個參數先進行計算,最後再進行分別輸出,所以我們用逗號就不存在上面的問題了
    41
    */
    42
    ?>

結果如下:

基於php中echo用逗號和用點號的區別詳解

本文原創自news.mkq.online

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章