$data = array();
$i = 0;
foreach($array => $arr){
if(key_exists($arr['name'], $data[$i])){
$i ++;
}
$d[$i][$arr['name']] = $arr['value'];
}随手写的,我家电脑上没有环境,你自己测试一下。

解决方案 »

  1.   

    $a = array (
      0 => 
      array (
        'name' => 'state',
        'value' => '9',
      ),
      1 => 
      array (
        'name' => 'attr',
        'value' => '1502021239421059',
      ),
      2 => 
      array (
        'name' => 'state',
        'value' => '0',
      ),
      3 => 
      array (
        'name' => 'attr',
        'value' => '1502051733171831',
      ),
    );
    foreach(array_chunk($a, 2) as $item) {
      foreach($item as $r) $t[$r['name']] = $r['value'];
      $b[] = $t;
    }
    print_r($b);Array
    (
        [0] => Array
            (
                [state] => 9
                [attr] => 1502021239421059
            )    [1] => Array
            (
                [state] => 0
                [attr] => 1502051733171831
            ))