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?
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"]);
Please use
$id = array_filter(
array_map(
function($array) {
if($array['name']== 'othername'){
return $array['id'];
}
},$my_array
)
);
print "<pre>";print_r($id);