在php二维数组中找到元素的官方方法?

Looking at the code above...

$Array = array(array("name"=>"Mickey","type"=>"mouse"),array("name"=>"Donald","type"=>"duck"),array("name"=>"Little Helper","type"=>"eniac"));
$search = "Donald";
foreach($Array as $Item){
    if($Item["name"]==$search) $MyItem = $Item;
}
echo('The item named "'.$search.'" is '.$MyItem["type"]);

... I have the feeling that there is an array function or a better way to find an item inside a bidimensional array. These arrays are like a table. Maybe setting the keys as the index unique values (in this case, the name), but I don't know how to do either.

Using the new array_column() function in PHP 5.5

$Array = array(array("name"=>"Mickey","type"=>"mouse"),array("name"=>"Donald","type"=>"duck"),array("name"=>"Little Helper","type"=>"eniac"));
$search = "Donald";

$key = array_search(
    $search,
    array_column($Array,'name')
);
if($key !== false) {
    $MyItem = $Array[$key];
    echo('The item named "'.$search.'" is '.$MyItem["type"]);
}

If you can recompose the array as:

array("Mickey"=>"mouse","Donald"=>"duck","Little Helper"=>"eniac");

or

array("Mickey"=>array("name"=>"mouse"),"Donald"=>array("name"=>"duck"),"Little Helper"=>array("name"=>"eniac"));

and just return by key

Works for this case:

echo array_column($Array, 'type', 'name')[$search];

Or with check:

$names = array_column($Array, 'type', 'name');
echo isset($names[$search]) ? $names[$search] : 'not found';

To convert to name => type use:

$Array = array_column($Array, 'type', 'name');

Then after you can just use $Array[$search].