数组

时间:2016-10-27 11:58:54

标签: php laravel

我遇到了在数组中的对象中串起数组的复杂问题。我目前的代码如下:

$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 - >第一级

XAxisWalkbyTrend键作为对象和值作为数组 - >第二级

  

{     "成功":是的,     "数据":{       " 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年             ]           }         },

我该怎么办?

2 个答案:

答案 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。 尝试添加到内部循环,看看它是否适合你然后:)