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手册