後來查了 PHP 官方文件,其實這種錯誤是能夠避免的,方法如下:
檢查一個變數是否有被設置內容時,使用 empty 來進行確認:
<?php
// 顯示為 "YES"
$var0;
$var1='';
if (empty($var0) and empty($var1))
echo "YES";
else
echo "NO";
// 顯示為 "FALSE"
$var2="Hello";
if(empty($var2))
echo "TRUE";
else
echo "FALSE";
?>
如需檢查這變數是否存在 (已宣告) ,則使用 isset 進行確認:
<?php
// 顯示為 "NO"
$var0;
if (isset($var0))
echo "YES";
else
echo "NO";
// 顯示為 "TRUE"
$var1='';
$var2="Hello";
if(isset($var1) and isset($var2))
echo "TRUE";
else
echo "FALSE";
?>
這兩種方法看起來相似,其實完完全全是兩樣不同的東西唷!
沒有留言:
張貼留言