【问题标题】:PHP multidimensional array decompositionPHP多维数组分解
【发布时间】:2013-01-23 14:15:04
【问题描述】:

我有一个 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)
    )

【问题讨论】:

  • 您可以将值发布为数组定义而不是打印数组吗?
  • @SaidurRahman,foreach($array as $key=>$value) 操纵。

标签: php pivot


【解决方案1】:

考虑到你的源数组名称为 $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);

【讨论】:

    【解决方案2】:

    如果需要,使用它并进行修改

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

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多