1次元の連想配列を検索する場合は、array_search()関数を使って値を検索し、その値を持つキーを返してくれます。

このように使います。

// 検索対象の連想配列
$dataArray = array('apple'=>'赤','banana'=>'黄','chocolate'=>'茶');

// 「黄」を検索
// キーの名前はbananaです。と表示されます。
$ret = array_search('黄', $dataArray);
if ($ret != false) {
    echo 'キーの名前は'.$ret.'です。';
}
else {
    echo 'キーは見つかりませんでした。';
}

2次元の連想配列の場合は?

ではは2次元の場合はどうやって検索すればいいのか?という内容です。関数で簡単というのは残念ながらありません。地道にやることになります。

連想配列なので、foreachを使ってループを回すのが良いでしょう。

// 検索対象の連想配列(多次元配列)
$dataArray[] = array('name'=>'りんご','price'=>'98');
$dataArray[] = array('name'=>'バナナ','price'=>'115');

// バナナを検索
// 2次元配列から1次元の連想配列を1つずつ取り出して検索
foreach($dataArray as $data) {
    if ($data['name'] === 'バナナ') {
        echo $data['name'].'の価格は'.$data['price'].'です。';
    }
}

本日は以上です。