我认为从标题来看并不完全清楚,但情况就是这样:
我有一个像这样的数组(它更大,这只是一个例子):
$array = array(
array('name' => 'John', 'age' => '29', 'from' => 'Uknown'),
array('name' => 'Brad', 'age' => '27', 'from' => 'Idk'),
array('name' => 'Phil', 'age' => '31', 'from' => 'My House')
);
我正在尝试使用PHP的本机函数(不使用循环或其他东西)找到一个快速方法,在另一个数组中指定此数组的名称,它会返回与此名称相关的信息。
示例:
如果我具体Brad
它给了我一个数组:
array('name' => 'Brad', 'age' => '27', 'from' => 'Idk')
答案 0 :(得分:2)
这是我的方法
$key = array_search('Brad', array_column($array, 'name'));
print_r($array[$key]);
答案 1 :(得分:1)
假设您没有重复的项目和重复的名称。
$names = array_column($array, 'name');
$indexs = array_flip($names);
print_r($array[$indexs['Brad']]);
答案 2 :(得分:0)
没有这样的功能。您唯一的选择是将数组重建为:
$array = array(
'John' => array('name' => 'John', 'age' => '29', 'from' => 'Uknown'),
'Brad' => array('name' => 'Brad', 'age' => '27', 'from' => 'Idk'),
'Phil' => array('name' => 'Phil', 'age' => '31', 'from' => 'My House')
);
使用简单的isset
:
if (isset($array['Brad'])) {
print_r($array['Brad']);
} else {
echo 'Brad not found';
}
当然,如果数组中的name
值重复,则必须创建更多唯一键。