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 に答える