我遇到了在数组中的对象中串起数组的复杂问题。我目前的代码如下:
$responseCountInfo = $responseCount->data;
foreach ($responseCountInfo as $macKey => $macVal) {
$data['MacOrZoneID'][] = $macKey;
foreach($macVal->walkbys_by_day as $key => $val){
$data['MacOrZoneID'][]['XAxis'][] = $key ;
$data['MacOrZoneID'][]['WalkbyTrend']['value'][] = $val ;
}
它输出的是:
{ "成功":是的, "数据":{ " MacOrZoneID":[ " AC86744C4820&#34 ;, { " XAxis":[ " 2016年10月3日" ] }, { " WalkbyTrend":{ "价值":[ 6555 ] } }, { " XAxis":[ " 2016年10月4日" ] }, { " WalkbyTrend":{ "价值":[ 6471 ] } }, " AC86744F96C0&#34 ;, { " XAxis":[ " 2016年10月3日" ] }, { " WalkbyTrend":{ "价值":[ 2941 ] } }, { " XAxis":[ " 2016年10月4日" ] }, { " WalkbyTrend":{ "价值":[ 1934年 ] } },
但我想将XAxis和值组合在一起,而不是像这样一遍又一遍地重复它们
另外,我需要以下格式
macKey
as array - >第一级
XAxis
和WalkbyTrend
键作为对象和值作为数组 - >第二级
{ "成功":是的, "数据":{ " MacOrZoneID":[ " AC86744C4820&#34 ;, { " XAxis":[ " 2016年10月3日&#34 ;, " 2016年10月4日" ] }, { " WalkbyTrend":{ "价值":[ 6555, 6471 ] } }, " AC86744F96C0&#34 ;, { " XAxis":[ " 2016年10月3日&#34 ;, " 2016年10月4日" ] }, { " WalkbyTrend":{ "价值":[ 2941, 1934年 ] } },
我该怎么办?
答案 0 :(得分:0)
在第二个foreach循环中试试这样的事情
foreach($macVal->walkbys_by_day as $key => $val){
array_push($data['MacOrZoneID']['XAxis'],$key);
array_push($data['MacOrZoneID']['WalkbyTrend']['value'],$val);
}
答案 1 :(得分:0)
$responseCountInfo = $responseCount->data;
foreach ($responseCountInfo as $macKey => $macVal) {
foreach($macVal->walkbys_by_day as $key => $val){
$data['MacOrZoneID'][$macKey]['XAxis'][] = $key ;
$data['MacOrZoneID'][$macKey]['WalkbyTrend']['value'][] = $val ;
}
我认为你在错误的级别添加$ macKey。 尝试添加到内部循环,看看它是否适合你然后:)