array_keys 返回数组的所有键名,可用于获取索引或查找特定值对应的键,如 array_keys($fruits, 'apple') 返回 [0, 2];array_values 返回所有值并重置为从 0 开始的数字索引,适用于整理数据结构。两者常配合使用,区别在于提取的是键还是值,对关联数组处理时尤为明显。

在 PHP 中,array_keys 和 array_values 是两个常用的数组处理函数,它们分别用于获取数组的键名和键值,用途不同但常配合使用。
array_keys:获取数组的所有键名
该函数返回一个包含原数组中所有键名的新数组。
适用场景:当你需要知道数组有哪些索引或键时使用,比如遍历配置项、检查字段是否存在等。
示例:$person = ['name' => 'Alice', 'age' => 25, 'city' => 'Beijing'];
$keys = array_keys($person);
// 结果:['name', 'age', 'city']
还可以配合搜索值使用,找出某个值对应的所有键。
立即学习“PHP免费学习笔记(深入)”;
Glean Glean是一个专为企业团队设计的AI搜索和知识发现工具
117 查看详情
$fruits = ['apple', 'banana', 'apple', 'orange'];
$apple_keys = array_keys($fruits, 'apple');
// 结果:[0, 2]
array_values:重新索引并返回所有键值
该函数返回一个只包含原数组中所有值的新数组,并将键重新从 0 开始连续编号。
适用场景:去除关联键名影响,获取纯数值索引的值列表,常用于数据整理或传递给需要数字索引的函数。
示例:$data = ['a' => 10, 'b' => 20, 'c' => 30];
$values = array_values($data);
// 结果:[10, 20, 30](键变为 0, 1, 2)
即使原数组是无序或字符串键,也能得到整齐的索引数组。
两者主要区别总结
array_keys 返回的是键(key),适用于查看结构或查找特定值对应的键。 array_values 返回的是值(value),并重置为数字索引,适合提取数据内容。 对关联数组操作时差异明显;对数字索引数组,array_keys 返回原始键(可能是非连续的),而 array_values 总是返回从 0 开始的新索引值数组。基本上就这些。根据你要提取的是“名字”还是“内容”,选择对应函数即可。不复杂但容易忽略细节,尤其是 array_keys 支持值过滤这一点很实用。
以上就是php中array_keys和array_values区别_php获取键名键值函数用途的详细内容,更多请关注php中文网其它相关文章!



