配列の配列から特定の要素の集合を集める

こんな配列から :bar な値だけをとってきて

foo = [
  { :bar => '2011/02/23', :war => 123, :moo => 'hey' },
  { :bar => '2011/01/12', :war =>  88, :moo => 'hey!' },
  { :bar => '2011/10/21', :war => 422, :moo => 'hoo' },
  { :bar => '2011/04/03', :war =>   8, :moo => 'hey' },
]

こうしたい。(理由は聞かない)

foo = ['2011/02/23', '2011/01/12', '2011/10/21', '2011/04/03']

rubyだとこんな感じでできるやつ

foo = foo.map{|f| f[:bar] }

PHPだとどうするかというと

array_walk($foo, create_function('&$item,$key', '$item = $item["bar"];'));


create_function をはじめて使った。コードが文字列なのが怪しい。