array_search()

1. 定义

该函数将在数组中查找指定的值,一旦找到即返回该值第一个对应的键名。

注:如果要返回所有匹配的键名,可以使用函数array_keys()

2. 语法

array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed

3. 参数说明

参数 可选性 数据类型 描述
$needle 必需 mixed 要查找的值
$haystack 必需 数组 被搜索的数组
$strict 可选 布尔型 是否启用严格模式,默认为false

4. 示例

<?php

// array_search()
// 在数组中查找指定的值,一旦找到即返回该值第一个对应的键名

$haytack = ['被迫营业的一天', 1, 2, 3, 4, ['a', 'b', 'c'], 'char'=>['X', 'Y', 'Z'], '极速数据棒棒哒', '被迫营业的一天'];
$needle = '3';
$key = array_search($needle, $haytack);
var_dump($key);// 输出:int(3)

// 启用严格模式:'3' 不等于 3
$key = array_search($needle, $haytack, true);
var_dump($key);// 输出:bool(false)

$needle = '被迫营业的一天';
$key = array_search($needle, $haytack);// 只返回第一个匹配的键名
var_dump($key);// 输出:int(0)

5. 延展阅读

  • array_keys():返回数组中的所有键名或某个值的键名(可能不止一个)
  • array_values():返回一个包含指定数组中的所有键值的数字索引数组
  • array_key_exists():检查数组中是否含有指定键名
  • in_array():检查某个值是否为指定数组的元素