У меня есть результаты 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