array (
  0 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135053,
    'target' => '/abc/v/login',
    'mode' => '200',
    'delay' => '0.017',
  ),
  1 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135053,
    'target' => '/abc/v/get',
    'mode' => '200',
    'delay' => '0.017',
  ),
  2 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135394,
    'target' => '/abc/v/login',
    'mode' => '200',
    'delay' => '0.021',
  ),
  3 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135394,
    'target' => '/abc/v/login',
    'mode' => '200',
    'delay' => '0.018',
  ),
  4 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135394,
    'target' => '/abc/v/post',
    'mode' => '200',
    'delay' => '0.043',
  ),
  5 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135394,
    'target' => '/abc/v/post',
    'mode' => '200',
    'delay' => '0.035',
  ),
  6 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135394,
    'target' => '/abc/v/tir',
    'mode' => 'HTTP/1.1',
    'delay' => '67',
  ),
  7 => 
  array (
    'ip' => '127.0.0.1',
    'date' => 1459135395,
    'target' => '/abc/v/end',
    'mode' => '200',
    'delay' => '0.136',
  ),  如何实现得到不同target的 每分钟的 delay 数值  或者说得到每分钟 delay的平均值
  例如就是算出 /abc/v/login 每分钟delay的平均值。求大神解救! 

解决方案 »

  1.   

    $ar = array (
      0 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135053,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.017',
      ),
      1 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135053,
        'target' => '/abc/v/get',
        'mode' => '200',
        'delay' => '0.017',
      ),
      2 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.021',
      ),
      3 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.018',
      ),
      4 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/post',
        'mode' => '200',
        'delay' => '0.043',
      ),
      5 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/post',
        'mode' => '200',
        'delay' => '0.035',
      ),
      6 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/tir',
        'mode' => 'HTTP/1.1',
        'delay' => '67',
      ),
      7 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135395,
        'target' => '/abc/v/end',
        'mode' => '200',
        'delay' => '0.136',
      ),
    );
    foreach($ar as $v) {
      @$res[$v['target']][intval($v['date'] / 60)]++;
    }
    print_r($res);
    Array
    (
        [/abc/v/login] => Array
            (
                [24318917] => 1
                [24318923] => 2
            )    [/abc/v/get] => Array
            (
                [24318917] => 1
            )    [/abc/v/post] => Array
            (
                [24318923] => 2
            )    [/abc/v/tir] => Array
            (
                [24318923] => 1
            )    [/abc/v/end] => Array
            (
                [24318923] => 1
            ))
      

  2.   


    $arr = array (
      0 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135053,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.017',
      ),
      1 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135053,
        'target' => '/abc/v/get',
        'mode' => '200',
        'delay' => '0.017',
      ),
      2 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.021',
      ),
      3 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/login',
        'mode' => '200',
        'delay' => '0.018',
      ),
      4 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/post',
        'mode' => '200',
        'delay' => '0.043',
      ),
      5 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/post',
        'mode' => '200',
        'delay' => '0.035',
      ),
      6 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135394,
        'target' => '/abc/v/tir',
        'mode' => 'HTTP/1.1',
        'delay' => '67',
      ),
      7 => 
      array (
        'ip' => '127.0.0.1',
        'date' => 1459135395,
        'target' => '/abc/v/end',
        'mode' => '200',
        'delay' => '0.136',
      ),
    );$result = array();
    foreach($arr as $k=>$v) {
      if(isset($result[$v['target']][$v['date']])){
          $result[$v['target']][intval($v['date']/60)] ++;
      }else{
          $result[$v['target']][intval($v['date']/60)] = 1;
      }
    }print_r($result);
    输出:Array
    (
        [/abc/v/login] => Array
            (
                [24318917] => 1
                [24318923] => 1
            )    [/abc/v/get] => Array
            (
                [24318917] => 1
            )    [/abc/v/post] => Array
            (
                [24318923] => 1
            )    [/abc/v/tir] => Array
            (
                [24318923] => 1
            )    [/abc/v/end] => Array
            (
                [24318923] => 1
            ))