Помогите разбить многомерный массив PHP

Рейтинг: 1Ответов: 1Опубликовано: 03.04.2015

Прошу помощи, не могу додуматься!

Есть у меня таблица в БД.

Вот такая структура. У каждой записи, есть поле param, там число от 1 до 4, на основании этого числа мне нужно все записи рассортировать по 4 . Всего 26 элементов в таблице:

[
0 => app\models\Paramdoor#1
(
    [yii\db\BaseActiveRecord:_attributes] => [
        'id' => 1
        'name' => 'Стандарт'
        'price' => ''
        'param' => 1
        'content' => 'Коробочный брус'
        'disabled' => 1
    ]
)
1 => app\models\Paramdoor#2
(
    [yii\db\BaseActiveRecord:_attributes] => [
        'id' => 2
        'name' => '1 комплект'
        'price' => '601 грн'
        'param' => 1
        'content' => 'Коробочный брус Стандарт'
        'disabled' => 0
    ]       
)

Создаю 4 пустых массива:

$arr1 = array();
$arr2 = array();
$arr3 = array();
$arr4 = array();

Как я понимаю через foreach я пробегаю многомерный массив:

foreach ($params as $param=>$row) {
 if($row[param]==1){
  $arr1[]=$row;
}
else if($row[param]==2){
 $arr2[]=$row;
}
else if($row[param]==3){
 $arr3[]=$row;
}
else if($row[param]==4){
 $arr4[]=$row;
}
}

И так получаю 4 разных массива под каждый <select>.

Интересует вот что - есть ли более элегантный способ?

Ответы

▲ 2

Кажется вот это вам подойдет:

list($arr1, $arr2, $arr3, $arr4) = $params;