牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP中的数组(查找)

创建时间:2016-12-18 投稿人: 浏览次数:938

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手册
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。