如何使用foreach循环才能获得一种类型的元素?

时间:2013-02-13 23:59:36

标签: php

有谁知道如何使用FOREACH循环来获取所有颜色或只获得所有水果?

$article = array(
  array( 'color'=>'green','fruit'=>'apples'),
  array( 'color'=>'orange','fruit'=>'oranges '),
  array( 'color'=>'red','fruit'=>'cherry')
);

提前致谢!

2 个答案:

答案 0 :(得分:3)

你基本上想要一个转轴操作;这种hackish方法会做到这一点:

$articles = array(
  array( 'color'=>'green','fruit'=>'apples'),
  array( 'color'=>'orange','fruit'=>'oranges '),
  array( 'color'=>'red','fruit'=>'cherry')
);

foreach ($articles as $article) {
  foreach ($article as $type => $value) {
    ${$type}[] = $value;
  }
}

print_r($fruit);
print_r($color);

Demo

答案 1 :(得分:0)

array_map更适合这个:

$colors = array_map(function($a) {return $a['color'];},$article);
$fruits = array_map(function($a) {return $a['fruit'];},$article);