PHP 中如下值得計算結果爲 false:php
關鍵字 | boolean | false |
整型 | integer | 0 |
浮點型 | double | 0.0 |
字符串 | string | "" |
字符串 | string | "0" |
數組 | array | array() |
對象 | object | 空對象 php<5 |
null | null | NULL |
例如 字符串"0":數組
<?php $number = "0"; if($number) { echo "string \"0\" is not false \r\n"; } else { echo "string \"0\" is false \r\n"; // 輸出:string "0" is false } if(empty($number)) { echo "string \"0\" is false \r\n"; // 輸出:string "0" is false } else { echo "string \"0\" is not false \r\n"; }
空數組:spa
<?php $arr= array(); if($arr) { echo 'array $arr is not false'."\r\n"; } else { echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false } if(empty($arr)) { echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false } else { echo 'array $arr is not false'."\r\n"; }
空對象在 PHP 5 以上版本中計算結果不爲 false:對象
$obj=(object)array(); if($obj) { echo '$obj is not false'."\r\n"; // 輸出:$obj is not false } else { echo '$obj is false'."\r\n"; } if(empty($obj)) { echo '$obj is false'."\r\n"; } else { echo '$obj is not false'."\r\n"; // 輸出:$obj is not false }
注意:字符串"0.0"、字符串"00"、包括一個空格字符的字符串" "、字符串"false" 、整型 -1 都不爲 false:blog
<?php $number = "0.0"; if($number) { echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false } else { echo "string \"0.0\" is false \r\n"; } if(empty($number)) { echo "string \"0.0\" is false \r\n"; } else { echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false }
正確地檢查一個變量是否爲空應該使用:字符串
<?php if (empty($var)) { ... }