Php数组的数组从名称中获取id


Php Array of arrays get id from name

我在PHP中有一个数组,如下所示:

$my_array = array();
$my_array[] = array("id"=>"myid1", "name"=>"myname1");
$my_array[] = array("id"=>"otherid", "name"=>"othername");
$my_array[] = array("id"=>"morestuffid", "name"=>"morestuffname");

有了像"othername"这样的"name",是否可以在没有for循环的情况下从$my_array中检索相应的"id"?

您可以通过array_column方法获得数组列name。然后通过array_search找到您想要的字符串,它将返回数组的索引。

$index = array_search("othername",array_column($my_array,"name"));
var_dump($my_array[$index]["id"]);

请使用

$id = array_filter( 
        array_map(
            function($array) {
                if($array['name']== 'othername'){
                    return $array['id']; 
                }
            },$my_array
        )
    ); 
print "<pre>";print_r($id);