最近、CakePHPのHashクラスが便利なので、積極的に使ってます。
例えば、こんな配列があったとして。
$user = array('User' => array(
0 => array('id' => 12, 'name'=>'Maekawa'),
1 => array('id' => 21, 'name'=>'Kawasaki'),
2 => array('id' => 22, 'name'=>'Sasaki'),
));
こんな感じで検索して。
$search = 'Kawasaki';
$return = Hash::extract($user, "User.{n}[name={$search}]");
見つかった配列が返される。(複数あったときは、複数の配列が返されると思われます)
array(0 => array('id' => 21, 'name'=>'Kawasaki'));
foreachで回さなくていいので使い方によっては便利です。
(ただし、思ったような取り出しをしてくれない時もありましたが)