isset()
和 array_key_exists()
是 PHP 中兩個用于檢查變量是否存在的函數,但它們之間存在一些區別:
適用范圍:
isset()
用于檢查一個變量是否已經設置且不為 NULL
。它不僅可以用于數組,還可以用于其他類型的變量。array_key_exists()
是專門用于檢查數組中是否存在指定的鍵名。它只能用于數組。檢查方式:
isset()
函數會檢查變量是否已經設置,如果設置且值不為 NULL
,則返回 true
,否則返回 false
。array_key_exists()
函數會檢查數組中是否存在指定的鍵名,如果存在則返回 true
,否則返回 false
。舉例說明:
$array = array("key1" => "value1", "key2" => "value2");
// 使用 isset() 檢查數組中的鍵是否存在
if (isset($array["key1"])) {
echo "Key1 exists and is not NULL.";
} else {
echo "Key1 does not exist or is NULL.";
}
// 使用 array_key_exists() 檢查數組中的鍵是否存在
if (array_key_exists("key1", $array)) {
echo "Key1 exists in the array.";
} else {
echo "Key1 does not exist in the array.";
}
在這個例子中,isset()
和 array_key_exists()
都可以正確地檢查數組 $array
中是否存在鍵 "key1"
。但是,如果變量未設置或為 NULL
,isset()
會返回 false
,而 array_key_exists()
不會檢查變量是否設置或為 NULL
,它只關心數組中是否存在指定的鍵名。