我們通常習(xí)慣使用isset來(lái)判斷數(shù)組里是否存在指定的key
但是對(duì)于下面的情況,isset并不能作出正確的判斷
$first = ['key' => null];
$second = [null];
// 返回false
isset($first['key']);
// 返回false
isset($second[0]);
當(dāng)數(shù)組鍵對(duì)應(yīng)的值為null時(shí),isset返回的是false,而解決辦法是使用array_key_exists
$first = ['key' => null];
$second = [null];
// 返回true
array_key_exists('key', $first);
// 返回true
array_key_exists(0, $second);
但是isset處理的速度要遠(yuǎn)遠(yuǎn)高于array_key_exists,所以使用場(chǎng)合需要根據(jù)具體環(huán)境來(lái)判斷,更穩(wěn)妥的辦法是:
if (isset($first['key']) || array_key_exists('key', $first)) {
// key存在后的處理
}