PHP группирует массив - PullRequest
       9

PHP группирует массив

0 голосов
/ 15 августа 2010

У меня есть массив:

Array
(
    [customer] => One
    [itemno] => Yellow Ribbon
    [price] => 1,2

)
Array
(
    [customer] => One
    [itemno] => Blue Band
    [price] => 0,5
)
Array
(
    [customer] => Two
    [itemno] => Red Tape
    [price] => 2,0
)

И я хочу сгруппировать его по клиенту так:

Array
(
    [One] => Array (
        [itemno] => Yellow Ribbon
        [price] => 1,2
        ) 
        [itemno] => Blue Band
        [price] => 0,5
        )

    [Two] => Array (
        [itemno] => Red Tape
        [price] => 2,0
        )
 )

Как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 15 августа 2010

Если мы назовем первый массив $ start и последний $ finish, то:

$finish = array();
foreach ($start as $v){
  $finish[$v['customer']][] = array('itemno'=>$v['itemno'], 'price'=>$v['price']);
}
0 голосов
/ 15 августа 2010
$newArray =array(); 
foreach($originalArray as $item){
  if(!array_key_exists($item->customer, $newArray)){
      $newArray[$item->customer]= array();
  }
  $newArray[$item->customer][] = $item;
}

// конечный результат будет $ newArray = array ('customer1' => array (Customers ...), 'customer2' => array (Customers ...));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...