Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP重写数组以对其进行总结_Php_Arrays - Fatal编程技术网

PHP重写数组以对其进行总结

PHP重写数组以对其进行总结,php,arrays,Php,Arrays,我得到了以下数组: ["positive"]=> array(3) { [0]=> array(2) { [0]=> int(1473022800000) //unix timestamp [1]=> int(100) } [1]=> array(

我得到了以下数组:

 ["positive"]=>
     array(3) {
        [0]=>
           array(2) {
              [0]=>
                 int(1473022800000) //unix timestamp
              [1]=>
                 int(100)
     }
        [1]=>
           array(2) {
              [0]=>
                 int(1473109200000)
              [1]=>
                 int(200)
     }
        [2]=>
           array(2) {
              [0]=>
                 int(1473195600000)
              [1]=>
                 int(300)
}// etc...
 ["neutral"]=>
     array(3) {
        [0]=>
           array(2) {
              [0]=>
                 int(1473022800000) //same day as with positive
              [1]=>
                 int(400)
      }
       [1]=>
          array(2) {
              [0]=>
                 int(1473109200000)//also second same day as with positive
              [1]=>
                 int(500)
}
       [2]=>
         array(2) {
              [0]=>
                 int(1473195600000)
              [1]=>
                 int(600)
} // etc...
我需要重新包装它以获得以下内容:

["1473022800000"]=>
array(2) {
['positive']=> (int)500 //example values, should be calculated
['neutral'] => (int)200
}
["1473109200000"]=>
array(2) {
['positive']=> (int)500
['neutral'] => (int)200
}
所以我需要重写它,不是从正数或中性数,而是从日期,以便这样总结。欢迎对如何使用PHP实现这一点提出任何建议。多谢各位

UPD以下是我到目前为止所做的尝试

foreach($myarray as $key=>$val){ //getting the dates
        //var_dump($key);exit;
        for($i=0;$i<=30;++$i){
            $dates[] = $val[$i][0];
        }
    }
    $dates = array_unique(array_values($dates));
    $dates_upd = [];
    foreach($dates as $date) {
        foreach($myarray as $key=>$val){
            for($i=0;$i<=30;++$i){
                if($val[$i][0]==$date){
                    $dates_upd['date'] = $date;
                    $dates_upd['date']['total'] = $val[$i][1];//getting errors here (cant use a scalar value etc...)
                }
            }
        }
    }
foreach($myarray as$key=>$val){//获取日期
//变量转储($key);退出;
对于($i=0;$i$val){

对于($i=0;$i),可以通过两个嵌套的foreach循环来实现这一点:

$out=[];

foreach($myarray as $key=>$subarray){

    foreach($subarray as $item){
        $date = $item[0];
        $value = $item[1];

        $out[$date][$key]=$value;
    }

}

那么,是什么阻止您对
循环使用
?我无法正确汇总所有值。首先,我获取了日期数组,然后我尝试在foreach循环中获取与该日期相关的值,但它给出了错误的结果。