在PHP中创建多维数组 [英] Create multidimensional array in PHP

查看:82
本文介绍了在PHP中创建多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据库查询结果,该结果是一个数组,它看起来如下:

I have a database query result that is an array and it looks like as below:

[{"uid":29,"totalAmount":"5400.00"},
 {"uid":499,"totalAmount":"5400.00"},
 {"uid":507,"totalAmount":"3960.00"},
 {"uid":497,"totalAmount":"3960.00"},
 {"uid":498,"totalAmount":"3960.00"},
 {"uid":34,"totalAmount":"3960.00"},
 {"uid":21,"totalAmount":"3240.00"},
 {"uid":27,"totalAmount":"2880.00"},
 {"uid":500,"totalAmount":"2880.00"},
 {"uid":19,"totalAmount":"2700.00"},
 {"uid":22,"totalAmount":"2700.00"},
 {"uid":20,"totalAmount":"2520.00"},
 {"uid":23,"totalAmount":"2520.00"},
 {"uid":504,"totalAmount":"1800.00"},
 {"uid":496,"totalAmount":"1440.00"},
 {"uid":26,"totalAmount":"1260.00"},
 {"uid":491,"totalAmount":"1080.00"},
 {"uid":492,"totalAmount":"720.00"},
 {"uid":464,"totalAmount":"540.00"},
 {"uid":493,"totalAmount":"540.00"},
 {"uid":76,"totalAmount":"540.00"},
 {"uid":505,"totalAmount":"180.00"},
 {"uid":506,"totalAmount":"180.00"},
 {"uid":494,"totalAmount":"180.00"},
 {"uid":495,"totalAmount":"180.00"}]

从这个结果中,我想创建一个多维数组,如下所示:

From this result I want to create a multidimensional array that will look like below:

[ 
    "0" =>
    [
        "0"=>["uid"=>29, "totalAmount"=>5400 ],
        "1"=>["uid"=>499, "totalAmount"=>5400]     
    ],

   "1" =>
   [
       "0"=>["uid"=>507, "totalAmount"=>3960 ],
       "1"=>["uid"=>497, "totalAmount"=>3960],
       "2"=>["uid"=>498, "totalAmount"=>3960 ],       
       "3"=>["uid"=>34, "totalAmount"=>3960],    
    ],
]
// and so on ...

我尝试使用foreach:

 $topEar = [];

        $amount = '';

        foreach( $topEarners as $te)
        {    
            array_push($topEar, [$te->uid=>$te->totalAmount]);
        }

       $topEar; 

推荐答案

如果无法使用SQL获取所需的结构,则这将是PHP中最简单的方法:

If you can't get the desired structure using SQL then this would be the easiest way in PHP:

$topEarners = json_decode($json, true);

foreach($topEarners as $row) {
    $result[$row['totalAmount']][] = $row;
}

  • 将JSON解码为PHP数组
  • 使用totalAmount作为键循环并追加到数组
    • Decode the JSON into a PHP array
    • Loop and append to an array using totalAmount as the key
    • 如果您想重置密钥:

      $result = array_values($result);
      

      这篇关于在PHP中创建多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆