Разложение многомерного массива PHP

У меня есть результаты PHP Sql, таблица выглядит так:

Он выглядит так:

[id]|test1|data|voice 1|0|0|-1 2|0|1|0 3|0|-2|-1 

Print_r массива выглядит так:


 Array ( [2] => Array ( [0] => Array ( [test1] => 0 [data] => 0 [mobile] => -1 ) ) [3] => Array ( [0] => Array ( [test1] => 0 [data] => 1 [voice] => 0 ) ) [4] => Array ( [0] => Array ( [test1] => 0 [data] => -2 [voice] => -1 ) ) 

Я хочу манипулировать массивом таким образом, чтобы мой массив выглядел так:

 Array ( [0] => Array ( [name] => test1 [val] => array(0 , 0, 0) ) [1] => Array ( [name] => data [val] => array(0, 1, -2) ) [2] => Array ( [name] => voice [val] => array(-1,0, 0) ) 

    Учитывая имя вашего исходного массива как $ Arr, попробуйте ниже кода

     foreach($Arr as $valArr) { $index = 0; foreach($valArr[0] as $k => $v) { $newArr[$index]["name"] = $k; $newArr[$index]["val"][ ] = $v; $index++; } } echo "<pre>"; print_r($newArr); 

    используйте это и сделайте изменения, если они не установлены

     SELECT * FROM `table_name` GROUP BY `test1` , `data` , `voice` LIMIT 0 , 30