2013-01-23 169 views
-2

我有一個PHP的Sql結果,表如下所示:PHP多維數組分解

它顯示爲:

[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 
      ) 

    ) 

我想操縱數組,使我的a rray樣子:

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) 
    ) 
+0

你可以張貼值的數組定義而不是打印數組? – user7282

+0

@SaidurRahman,'foreach($ array as $ key => $ value)'操作。 –

回答

0

利用這一點,如果neded

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

考慮到你的源數組名作爲$編曲做修改,嘗試下面的代碼

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);