array_keys在php 8.2中用法与之前一致:传入数组返回所有键名;支持search_value筛选对应值的键;strict参数控制严格比较;兼容字符串、数字及混合键,保留原始类型与顺序。

array_keys 在 PHP 8.2 中用法和之前版本一致,直接传入数组即可获取所有键名。
基础用法:获取全部键名
默认调用 array_keys($array) 就会返回原数组中所有键名组成的索引数组,保持原有顺序:
$arr = ['name' => 'Tom', 'age' => 25, 'city' => 'Beijing']; $keys = array_keys($arr); // 结果:['name', 'age', 'city']
配合 search\_value 参数筛选特定键
如果只想获取值等于某个指定内容的键名,可以传第二个参数:
$arr = ['a' => 1, 'b' => 2, 'c' => 1, 'd' => 3]; $keys = array_keys($arr, 1); // 结果:['a', 'c'](值为 1 的所有键)
- 第三个可选参数
$strict控制是否启用严格比较(默认false) - 设为
true时,类型和值都必须完全匹配(例如1 !== '1')
处理关联数组、数字索引、混合键的情况
无论键是字符串、整数,还是两者混用,array_keys 都能正确提取:
$mixed = [0 => 'first', 'id' => 123, 2 => 'third', 'name' => 'Alice']; $keys = array_keys($mixed); // 结果:[0, 'id', 2, 'name'] —— 顺序保留,类型不变
- 数字键不会被自动转成字符串,原始类型会被保留
- 重复键名不会出现(PHP 数组本身不允许同名键)
注意空数组和非数组输入
传入空数组返回空数组;传入非数组类型(如字符串、null)会触发警告并返回空数组:
- 建议使用
is_array()做前置判断,避免意外警告 - PHP 8.2 不会自动转换类型,不会静默处理非法输入
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











