PHP中的數組(查找)

array_filter

用回調函數過濾數組中的單元

依次將 array 數組中的每個值傳遞到 callback 函數。如果 callback 函數返回 TRUE,則 input 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。

function odd($var)
{
    return $var & 1;
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
print_r(array_filter($array1, "odd"));

Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)

array_rand

從數組中隨機取出一個或多個單元

返回索引

$arr = [11,22,33,44,55];
$result = array_rand($arr, 2);
print_r($result);

Array
(
    [0] => 2
    [1] => 3
)

array_search

在數組中搜索給定的值,如果成功則返回相應的鍵名

返回索引

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array);
echo $key;

2

in_array

檢查數組中是否存在某個值

$result = in_array(11,[11,22,33]);
var_dump($result);

bool(true)

array_key_exists

檢查給定的鍵名或索引是否存在於數組中

$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
    echo "The 'first' element is in the array";
}

The 'first' element is in the array

array_key_exists() 與 isset() 的對比

isset() 對於數組中爲 NULL 的值不會返回 TRUE,而 array_key_exists() 會。

$search_array = array('first' => null, 'second' => 4);
$r = isset($search_array['first']);
var_dump($r);
$r = array_key_exists('first', $search_array);
var_dump($r);

bool(false)
bool(true)

key_exists

別名 array_key_exists

參考

  • PHP手冊
發佈了94 篇原創文章 · 獲贊 110 · 訪問量 80萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章