array_keys()

1. 定义

该函数返回数组中的所有键名或某个值的键名(可能不止一个)。 返回一个键名数组。

2. 语法

array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ) : array

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 被查找的数组
$search_value 可选 mixed 要查找的键值
$strict 可选 布尔值 是否开启严格模式,默认为false。严格模式下使用三等号===进行比较

4. 示例

<?php

// array_keys()
// 返回数组中的所有键名或某个值的键名(可能不止一个)

$arr = [
    'name'=>'极速教程',
    'host'=>'https://www.jisuapi.com/',
    'contact'=>'18888888888',
    'address'=>'https://www.jisuapi.com/',
    'rank'=>'1',
    'number'=>1,
    6=>'一个特意加进来的数字索引'
];

// 查找该数组的所有键名
$res = array_keys($arr);
var_dump($res);
/* 输出:
array(7) {
  [0]=>
  string(4) "name"
  [1]=>
  string(4) "host"
  [2]=>
  string(7) "contact"
  [3]=>
  string(7) "address"
  [4]=>
  string(4) "rank"
  [5]=>
  string(6) "number"
  [6]=>
  int(6)
}
*/

// 查找键值为 1 的键名
$res = array_keys($arr, 1);
var_dump($res);
/* 输出:
array(2) {
  [0]=>
  string(4) "rank"
  [1]=>
  string(6) "number"
}
*/

// 开启严格模式
$res = array_keys($arr, 1, true);
var_dump($res);
/* 输出:
array(1) {
  [0]=>
  string(6) "number"
}
*/

5. 延展阅读

  • array_values():返回一个包含指定数组中的所有键值的数字索引数组
  • array_combine():传入两个数组,用其中一个数组的键值作为键名,另一个数组的键值作为键值,组合出一个新的数组
  • array_key_exists():函数key_exists()的别名,检查数组中是否含有指定键名
  • array_search():在数组中查找指定的值,一旦找到即返回该值第一个对应的键名