為什么變量值用漢字輸出結(jié)果的是0?
<?php $x?=?5; $y?=?5; $z?=?$x+$y; echo?$z; ?>
這個結(jié)果為10,是對的,
但是下面這個把數(shù)字換成漢字為什么輸出結(jié)果是0?
<?php $x?=?"你叫"; $y?=?"什么"; $z?=?$x+$y; echo?$z; ?>
<?php $x?=?5; $y?=?5; $z?=?$x+$y; echo?$z; ?>
這個結(jié)果為10,是對的,
但是下面這個把數(shù)字換成漢字為什么輸出結(jié)果是0?
<?php $x?=?"你叫"; $y?=?"什么"; $z?=?$x+$y; echo?$z; ?>
2018-07-01
舉報
2018-07-01
PHP有一個數(shù)據(jù)類型自動轉(zhuǎn)換的機制, 當(dāng)前你使用的是算術(shù)操作符, 只能對整型或者浮點型進(jìn)行運算, 其它類型均會轉(zhuǎn)換成整型或者浮點型; 當(dāng)需要轉(zhuǎn)換的字符串是以數(shù)字開頭的, 則會將數(shù)字部分轉(zhuǎn)換為整型或者浮點型, 其它部分舍去, 比如 $x = "5你好"; 經(jīng)過轉(zhuǎn)換之后就會變成 $x = 5; 然后再進(jìn)行算術(shù)運算; 如果字符串不以數(shù)字開頭,則直接轉(zhuǎn)換為0, 也就是你第二段代碼的結(jié)果. 字符串擁有自己的操作符".", 表示將兩個字符串連接起來, 第二段代碼想要正確輸出,應(yīng)當(dāng)寫為
2018-07-06
在PHP里面 . 是連接符。? +是java c的連接符
2018-07-01
+不是字符串之間的連接符