《PHP實戰:PHP弱類型語言中類型判斷操作實例詳解》要點:
本文介紹了PHP實戰:PHP弱類型語言中類型判斷操作實例詳解,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了PHP弱類型語言中類型判斷操作.分享給大家供大家參考,具體如下:PHP學習
1、php一個數字和一個字符串進行比較或者進行運算時,PHP會把字符串轉換成數字再進行比較.PHP轉換的規則的是:若字符串以數字開頭,則取開頭數字作為轉換結果,若無則輸出0.PHP學習
例如:123abc轉換后應該是123,而abc則為0,0==0這當然是成立的.具體可以參考官方手冊:如果比較一個整數和字符串,則字符串會被轉換為整數PHP學習
$a = ($b=4)+5; echo $a; //9 echo '<p>'; var_dump(1=='1a'); //true echo '<p>'; var_dump(1=='2a'); //false echo '<p>'; var_dump(1=='a1'); //false echo '<p>'; var_dump("1"=='1a'); //false echo '<p>'; var_dump('51a'+6); //57 echo '<p>'; var_dump('a51'+6); //6
2、在PHP中,== 會先進行類型轉換,再進行對比,而===會先比較類型,如果類型不同直接返回不相等,參考如下示例PHP學習
$a = null; $b = ''; $c = 0; echo ($a == $b) ? 1 : 0; // 輸出1 echo ($a === $b) ? 1 : 0; // 輸出0 echo ($a == $c) ? 1 : 0; // 輸出1 echo ($a === $c) ? 1 : 0; // 輸出0 echo ($b == $c) ? 1 : 0; // 輸出1 echo ($b === $c) ? 1 : 0; // 輸出0
3、php中的empty和isset函數PHP學習
1)變量為:0,"0",null,'',false,array()時,使用empty函數,返回的都為truePHP學習
2)變量未定義或者為null時,isset函數返回的為false,其他都未truePHP學習
$a = null; $b = ''; $c = 0; $d = "0"; $e = false; $f = array(); var_dump(empty($a)); //true echo '<p>'; var_dump(empty($b)); //true echo '<p>'; var_dump(empty($c)); //true echo '<p>'; var_dump(empty($d)); //true echo '<p>'; var_dump(empty($e)); //true echo '<p>'; var_dump(empty($f)); //true echo '<p>'; var_dump(isset($a)); //false echo '<p>'; var_dump(isset($b)); //true echo '<p>'; var_dump(isset($c)); //true echo '<p>'; var_dump(isset($d)); //true echo '<p>'; var_dump(isset($e)); //true echo '<p>'; var_dump(isset($f)); //true echo '<p>'; var_dump(isset($g)); //false
4、使用strpos之類的函數要用恒等于來判斷PHP學習
$sms = "abc"; if(strpos($sms,'a') != false ){ echo 1; }else{ echo 2; }
這種情況,很明顯是判斷abc字符串中,是否包含a,預期結果應該是要輸出1的,實際結果輸出為2.這是因為strpos函數匹配不到目標字符串時,返回false,匹配到了目標字符串時,會返回目標字符串,在搜索字符串中的索引位置,此處返回了0.PHP學習
$sms = "abc"; if(strpos($sms,'a') !== false ){ echo 1; }else{ echo 2; }
改成恒等于,才是正確的.PHP學習
5、換行需要雙引號PHP學習
$time = date('Y-m-d H:i:s').'\r\n'; file_put_contents('filename.txt', $time , FILE_APPEND);
如果這樣寫,打開文件是這樣的2016-09-02 08:04:04\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:22PHP學習
正確的寫法是\r\n,使用雙引號包起來PHP學習
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》及《PHP數組(Array)操作技巧大全》PHP學習
希望本文所述對大家PHP程序設計有所幫助.PHP學習
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/341.html