Php Array of arrays get id from name

2020-05-01 07:30发布

问题:

I have an array like the following in 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");

Having a "name" like "othername", is it possible to retrieve the respective "id" from $my_array without a for loop?

回答1:

you can get your array column name by array_column method.Then find you want string by array_search its will return the index of array.

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


回答2:

Please use

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


标签: php arrays