PHP isset() & empty() 判斷變數是否為存在或空值函數

2019/06/22 5,880 4 網站技術 , PHP

寫 PHP 時常常會需要將值丟來丟去,有時候還要從前端介面接收使用者輸入的值,但是總是怕有人惡意輸入空值並傳送,因此後端都會做空值檢查避免程式掛掉,經過查詢後發現大多程式開發人員都是使用 PHP 內建的 isset() empty() 函數判斷,但這兩個函數用途上有什麼樣的差異呢?就讓我們簡單了解一下吧!

⚙ isset():判斷變數是否存在

對於 PHP 來說,變數未定義或給變數給 null 就是不存在,所以經過 isset() 分析就會傳回 false,其他變數內若有任何值都會給 true。

⚙ empty() 判斷變數是否為空值

對於 PHP 來說,變數未定義變數給「""」空值變數給 null變數給 0,這些都是代表空值,因此經過 empty() 分析就會傳回 true,其他變數內若有任何值都會給 false。


▲ 程式碼與執行結果截圖,1 代表 true;空代表 false。

⌨ 完整 PHP 程式碼提供:

<!DOCTYPE html>
<html lang="zh-TW">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP isset() & empty() 判斷變數是否為存在或空值函數</title>
</head>
<body>
<?php

// $a 未設定
$b = "";
$c = null;
$d = 0;
$e = 1;
$f = "f";

// isset() 判斷變數是否存在,不存在或給 null 都將傳回 false

echo "<br>◆ isset() 判斷變數是否存在:<br>";

echo "a:" . isset($a) . "<br>";
echo "b:" . isset($b) . "<br>";
echo "c:" . isset($c) . "<br>";
echo "d:" . isset($d) . "<br>";
echo "e:" . isset($e) . "<br>";
echo "f:" . isset($f) . "<br>";

// empty() 判斷變數是否為空值,因此未設定變數、未設值、null 和 0 通通回傳 true

echo "<br>◆ empty() 判斷變數是否為空值:<br>";

echo "a:" . empty($a) . "<br>";
echo "b:" . empty($b) . "<br>";
echo "c:" . empty($c) . "<br>";
echo "d:" . empty($d) . "<br>";
echo "e:" . empty($e) . "<br>";
echo "f:" . empty($f) . "<br>";

?>
</body>
</html>
贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇