欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求foreach输出数组判断输出代码,部分已经完成

程序员文章站 2022-05-25 13:58:33
...
有数组
Array(    [0] => stdClass Object        (            [CounterCode] => 0002            [Countername] => 南楼一层            [BuildDate] => 20130101            [xsje] => 97600        )    [1] => stdClass Object        (            [CounterCode] => 0002            [Countername] => 南楼一层            [BuildDate] => 20130102            [xsje] => 84808        )    [2] => stdClass Object        (            [CounterCode] => 0002            [Countername] => 南楼一层            [BuildDate] => 20130103            [xsje] => 112221.8        )    [3] => stdClass Object        (            [CounterCode] => 0002            [Countername] => 南楼一层            [BuildDate] => 20130104            [xsje] => 100316        )    [4] => stdClass Object        (            [CounterCode] => 0002            [Countername] => 南楼一层            [BuildDate] => 20130105            [xsje] => 48966        )    [5] => stdClass Object        (            [CounterCode] => 0003            [Countername] => 南楼二层            [BuildDate] => 20130101            [xsje] => 54862        )    [6] => stdClass Object        (            [CounterCode] => 0003            [Countername] => 南楼二层            [BuildDate] => 20130102            [xsje] => 61934        )    [7] => stdClass Object        (            [CounterCode] => 0003            [Countername] => 南楼二层            [BuildDate] => 20130103            [xsje] => 47470        )    [8] => stdClass Object        (            [CounterCode] => 0003            [Countername] => 南楼二层            [BuildDate] => 20130104            [xsje] => 39975        )    [9] => stdClass Object        (            [CounterCode] => 0003            [Countername] => 南楼二层            [BuildDate] => 20130105            [xsje] => 30111        )		。。。N		




ps: [CounterCode] => 0003 (字符串)
[Countername] => 南楼二层(字符串)
[BuildDate] => 20130105 (日期)
[xsje] => 30111 (金额)
想要输出的格式为(含义:CounterCode=0002 销售金额按日输出)
CounterCode: '0002',data: [97600,84808,112221.8,100316,48966]},CounterCode: '0003',data: [54862,61934,47470,39975,30111]},



现在我能输出
{name:'0002',data:[]},{name:'0003',data:[]},{name:'0004',data:[]},{name:'0005',data:[]},{name:'0006',data:[]},{name:'0008',data:[]},{name:'0009',data:[]}


代码
CounterCode."',"; echo "data:[" ;求这部分代码echo "]}"; }?>



另求删除最后一个标点符号方法


回复讨论(解决方案)

$tmpxsje = [];foreach($users as $user){	$tmpxsje[$user->CounterCode][] = $user->xsje;}$data = [];foreach($tmpxsje as $k=>$v){	$tmp['name'] = $k;	$tmp['data'] = $v;	$data[] = $tmp;}echo json_encode($data);//[{"name":"0002","data":[97600,84808,112221.8,100316,48966]},{"name":"0003","data":[54862,61934,47470,39975,30111]}]

谢谢 jam00

刚没注意,,不是我要求的格式啊?

CounterCode: '0002',data: [97600,84808,112221.8,100316,48966]},
CounterCode: '0003',data: [54862,61934,47470,39975,30111]},
我要的上这样的

foreach($tmpxsje as $k=>$v){
$tmp['CounterCode '] = $k;
$tmp['data'] = $v;
$data[] = $tmp;
}