解决方案 »

  1.   

    $ar = Array(
        'uid' => 19,
        'pid' => Array (
                0 => 91,
                1 => 81,
            ),
        'price' => Array (
                0 => 6,
                1 => 14,
            ),
        'pnum' => Array (
                0 => 1,
                1 => 1,
            ),
    );$r = array_map(function($t) {
        return is_array($t) ? array_sum($t) : $t;
       }, $ar);
    print_r($r);Array
    (
        [uid] => 19
        [pid] => 172
        [price] => 20
        [pnum] => 2
    )
      

  2.   

    直接用foreach也可以。
    $ar = Array(
        'uid' => 19,
        'pid' => Array (
                0 => 91,
                1 => 81,
            ),
        'price' => Array (
                0 => 6,
                1 => 14,
            ),
        'pnum' => Array (
                0 => 1,
                1 => 1,
            ),
    );
    foreach($ar as $k=>$v){
        $arr[$k] = is_array($v) ? array_sum($v) : $v;
    }
    print_r($arr);