我有这个数组
$languages = array (
'de' =>
array (
'FIRSTNAME' => 'Vorname',
'SURNAME' => 'Nachname'
),
'en' =>
array (
'FIRSTNAME' => 'Firstname',
'SURNAME' => 'Surname'
)
);
例如,我试图通过使用$languages
的值来获取SURNAME
的完整索引(完整键)。
示例:寻找“名字”应返回$languages['en']['FIRSTNAME']
[我尝试将array_search
与array_column
结合使用,但实际上我不知道要查找的“列”
array_search($value, array_column($array_to_search_in, 'column'));
[我还找到了一个带有array_walk_recursive
的解决方案,但仅通过键比较而不是按值。
array_walk_recursive($languages, function($v, $k, $u) use (&$values){
if($k == $value) {
$values[] = $v;
}
}, $values );
任何帮助一如既往地受到赞赏!谢谢!
从未与array_walk_recursive
一起使用,但是IMO可以应用基本的递归函数。这将遍历数据。如果值与搜索关键字相同,则我们返回一个具有当前关键字的数组。如果父级递归调用接收到一个大小大于0的数组,则我们还要添加当前的父级键以返回结果。