3 回答
TA貢獻1847條經(jīng)驗 獲得超11個贊
array_key_exists肯定會告訴您,數(shù)組中是否存在密鑰,而isset只會回來true如果存在密鑰/變量而不是null.
$a = array('key1' => 'フーバー', 'key2' => null);
isset($a['key1']); // true
array_key_exists('key1', $a); // true
isset($a['key2']); // false
array_key_exists('key2', $a); // true
還有一個重要的區(qū)別。isset不會抱怨$a不存在,而array_key_exists的確如此。
TA貢獻2021條經(jīng)驗 獲得超8個贊
array_key_existsisset[O(1)], issetisset.
null, issetfalsearray_key_existstruenullarray_key_exists.
TA貢獻1851條經(jīng)驗 獲得超4個贊
isset
告訴是否定義了表達式(數(shù)組),是否設置了鍵。 如果沒有定義var,則沒有警告或錯誤,也沒有數(shù)組. 但
回報 假的
如果該鍵的值為 零
array_key_exists
告訴數(shù)組中是否存在如名稱所暗示的鍵。 但
如果數(shù)組參數(shù)不是 列陣
它可能是一個數(shù)組,也可能不是一個數(shù)組。 (或者類似地是多維數(shù)組,其中鍵檢查發(fā)生在DIM 2,dIM 1值可能不是1的數(shù)組)。 圣 DIM(等.)
@
isset($var[$key]); // silent but misses null valuesarray_key_exists($key, $var); // works but warning if $var not defined/array
is_array$var
if (isset($var[$key]) || isset($var) && is_array($var) && array_key_exists($key, $var)) ...
if (isset($var) && is_array($var) && array_key_exists($key, $var)) ...
- 3 回答
- 0 關注
- 408 瀏覽
添加回答
舉報
