檢查Key值是否存在Array 中
在第十三天的時候有跟大家介紹過利用in_array來檢查Value 是否存在Array 中,當然有時您除了要檢查value,也會需要檢查key值是否存在陣列中。
這個時候我們就可以利用php所提供的array_key_exists這個陣列函數來完成。
語法如下:
array_key_exists(要檢查的數值,要被檢查的陣列);
array_key_exists 會回傳一個布林值(bool),若數值有在陣列中,則傳回true,否則就傳回false。
example:
下列範例是檢查 search_array 這個陣列中,是否有存在"first"這個key值,如果有就列印出 Yes
<?php
$search_array = array('first' => "第一名", 'second' => "第二名");
if (array_key_exists('first', $search_array)) {
echo Yes";
}
?>
當然有人會說使用isset也可以做到,但是這當array的value為 NULL 的時候,會有差別,範例如下:
<?php
$search_array = array('first' => null, 'second' =>"第二名" );
// returns false
isset($search_array['first']);
// returns true
array_key_exists('first', $search_array);
?>
這時使用isset 會傳回 false ,但是這是錯誤的,因為是有存在first這個key ,所以就要使用array_key_exists