1

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

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

提前致谢!

4

2 回答 2

3

你基本上想要一个枢轴操作;这种骇人听闻的方法将做到这一点:

$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);

演示

于 2013-02-14T00:09:51.413 回答
0

array_map会更适合这个:

$colors = array_map(function($a) {return $a['color'];},$article);
$fruits = array_map(function($a) {return $a['fruit'];},$article);
于 2013-02-14T00:04:18.790 回答