解釋:
在php語言裏,對於數字式字符與數字如何參與運算,在具體情況下會視情來確定,請比較以下代碼:
echo "3+4+5"; 結果: 3+4+5
為什麽會1+2+"3+4+5" 結果會是6呢?
echo這個函數(或說是指令),其後跟的參數可以是字符串,也可以是需要運算的表達式,當出現:
echo "3+4+5"; echo會認為這是個字符串
而 echo 1+2+"3+4+5"; echo會認為這是個表達式,所以會對這個表達式進行運算。
在這個運算過程中,1+2等於3,那麽為什麽"3+4+5"為什麽會等於3呢?因為,在php中,對於運算式中,不同數據類型的數據在參與數據時,php會進行數據轉換,以盡量確保使表達式成功運行,在"3+4+5"前面的運算符是 + ,那麽,php會將"3+4+5"當作數值類型,此時會隱式地進行數據類型的轉換,將這個字符串轉換成數值,而"3+4+5"轉換成數值的結果就是3,所以,整個表達式的結果是:1+2+3 = 6。
為更好的理解,作為對比,妳可以參考以下代碼:
echo 1+2 . "3+4+5";
結果:
33+4+5