1. 程式人生 > >PHP - 逗號和點號的區別

PHP - 逗號和點號的區別

PHP php逗號和點號的區別

php點號(.)和逗號(,)作用都是鏈接字符串 echo ‘點‘.‘號‘; //用點號連接字符串 輸出 點號 echo ‘逗‘,‘號‘; //用逗號連接字符串 輸出 逗號 效果是一樣的,但還是有很大區別 echo ‘1+99=‘ . 1+99; //輸出100 輸出的結果是100 而不是1+99=100 echo "1+99=" . 99+1; //輸出2 當把1和99換下位置.結果就變成了2 當把點號換成逗號 echo ‘1+99=‘ ,99+1; //輸出 1+99=100 echo ‘1+99=‘ , 1+99; //輸出 1+99=100 只有使用逗號得到結果才是想要的結果 那為什麽點號就不行呢?逗號為什麽就行呢? echo ‘1+99=‘ . 99+1; 輸出2可以看出php字符串連接從左到右進行,所以是先連接字符串成"1+99=99" 然後再加1 ,即為"1+99=99"+1(字符串於數字相加) 那為什麽就會輸出2呢? 這個跟PHP字符串到數字的轉換,從左到右截取,知道碰到了不合法的數組, 截取出來的部分轉成數字,從左到右截取到第一個不是數字為止,如果第一個值 不是數字就直接返回0 echo (int)‘ccc100‘; //輸出0 echo (int)‘1abc‘; //輸出1 echo (int)‘10abc‘; //輸出10 echo (int)‘100abc‘; //輸出100 字符串"1+99=99" 強制類型轉換後得到的值就應該是1,在此基礎上+1 1+1當然是2了 echo ‘5+1=‘ . 1+5; //輸出10 echo ‘5+1=‘ . 5+1; //輸出6 echo ‘1+5=‘ . 1+5;//輸出6 echo ‘1+5=‘ . 5+1;//輸出2 為什麽使用逗號就沒有上面的問題了呢? 官方手冊上解釋.逗號是multiple parameters(多參數) 逗號分隔開就相當於是N個參數,也就是說把echo當做函數用 echo先對每個參數先進行計算,最後再進行連接後輸出 所以逗號不存在上面的問題

PHP - 逗號和點號的區別