识别特定数组值的键
处理多维数组时,需要搜索特定值并检索相应的键。在这种情况下,我们的目标是在多维数组中查找给定值的键。
使用 array_search() 进行数组搜索
搜索数组的一种方法是利用 PHP 5.5.0 及更高版本中提供的 array_search() 函数。该函数需要两个参数:目标值和要在其中搜索的数组。如果找到,则返回与目标值关联的键,否则返回 FALSE。
示例
考虑以下多维数组:
$products = [ 1 => [ 'slug' => 'breville-one-touch-tea-maker-BTM800XL', 'name' => 'The Breville One-Touch Tea Maker', ], 2 => [ 'slug' => 'breville-variable-temperature-kettle-BKE820XL', 'name' => 'Breville Variable-Temperature Kettle BKE820XL', ], ];
搜索与 slug 关联的密钥breville-one-touch-tea-maker-BTM800XL:
$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
array_column() 函数用于将每个子数组中的 'slug' 值提取到一维数组中,从而启用 array_search()函数有效地执行搜索。
使用替代解决方案array_search_multidim()
对于独立的解决方案,您可以定义一个自定义函数,例如:
function array_search_multidim($array, $column, $key) { return (array_search($key, array_column($array, $column))); }
此函数允许您将多维数组、列名传递给在(例如“slug”)和目标中搜索值。
示例
$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
以上是如何在多维数组中查找特定值的键?的详细内容。更多信息请关注PHP中文网其他相关文章!