$arr=array(array('3','-1','4','2','-2'),array('-3','-1','-4','-12','-2','21','13','-16'),array('-5','-8','4','2'));

解决方案 »

  1.   


    $arr=array(array('3','-1','4','2','-2'),array('-3','-1','-4','-12','-2','21','13','-16'),array('-5','-8','4','2'));function doo($arr){
    $i = 0;
    foreach($arr as $ar){
    foreach($ar as $a){
    $pos = strpos($a,"-");
    if (!($pos === false)) {
    $i++;
    }
    }
    }
    return $i;
    }
    echo doo($arr);
    #10
      

  2.   

    $arr=array(
      array('3','-1','4','2','-2'),
      array('-3','-1','-4','-12','-2','21','13','-16'),
      array('-5','-8','4','2')
    );
    foreach($arr as $k=>$a) {
      $n = count(array_keys(array_map('sign',$a), -1));
      $r[$k] = array('+' => count($a) - $n, '-' => $n);
    }print_r($r);function sign($n) {
      return $n/abs($n);
    }
    Array
    (
        [0] => Array
            (
                [+] => 3
                [-] => 2
            )    [1] => Array
            (
                [+] => 2
                [-] => 6
            )    [2] => Array
            (
                [+] => 2
                [-] => 2
            ))
      

  3.   

    我也来一个$arr=array(array('3','-1','4','2','-2'),array('-3','-1','-4','-12','-2','21','13','-16'),array('-5','-8','4','2'));$rs = array();
    foreach($arr as $k=>$row) {
        foreach($row as $v) {
            $rs[$k][$v >= 0 ? '+' : '-']++;
        }
    }print_r($rs);
    /**
    输出结果:
    Array ( [0] => Array ( [+] => 3 [-] => 2 ) [1] => Array ( [-] => 6 [+] => 2 ) [2] => Array ( [-] => 2 [+] => 2 ) ) 
    */