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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章