Я получаю из данных DB в формате, как это: < /p> [code]array(12) { [0]=> array(4) { ["id"]=> string(1) "1" ["count"]=> string(5) "78984" ["month"]=> string(1) "6" ["hours"]=> string(10) "10580.0833" } [1]=> array(4) { ["id"]=> string(1) "2" ["count"]=> string(5) "64174" ["month"]=> string(1) "6" ["hours"]=> string(9) "6866.8333" } [2]=> array(4) { ["id"]=> string(1) "3" ["count"]=> string(5) "31032" ["month"]=> string(1) "6" ["hours"]=> string(9) "3700.9167" } [3]=> array(4) { ["id"]=> string(1) "1" ["count"]=> string(5) "91114" ["month"]=> string(1) "7" ["hours"]=> string(10) "11859.6000" } ... < /code> Каждый массив внутри имеет ключ: «id». В основном это смотрят значения от 1 до 3. Я хотел бы создать новый массив на основе этих «идентификаторов», который будет выглядеть так: < /p> array("number of unique ids") { [0]=> "for id = 0" array(12) { int() count/hours int() count/hours int() count/hours ... } [1]=> "for id = 1 and so on..." array(12){ .... } < /code> Я пытался сделать это так: < /p> $data1 = []; $data2 = []; $data3 = []; foreach($data as $key => $record){ if($record['id'] == 1){ array_push($data1, $record['count']/$record['hours']); }else if($data['id_zmiana'] == 2){ array_push($data2, $record['count']/$record['hours']); }else{ array_push($data3, $record['count']/$record['hours']); } } $raport = array_merge($data1, $data2, $data3); [/code] И это сработает, но, на мой взгляд, это не очень хорошо, Beacus>