$array = array(array('pid'=>1,'name'=>a),array('pid'=>2,'name'=>b),array('pid'=>3,'name'=>c),array('pid'=>1,'name'=>a),array('pid'=>4,'name'=>d));
类似这样的二维数组,怎样判断pid和name同时相等的值(如例子里的('pid'=>1,'name'=>a)值一样)
有的话就退出

解决方案 »

  1.   


    $array = array(
          array('pid'=>1,'name'=>'a'),
      array('pid'=>2,'name'=>'b'),
      array('pid'=>3,'name'=>'c'),
      array('pid'=>1,'name'=>'a')
    );
    $tmp=array();
    foreach($array as $k=>$v){
           if(!$tem[$v[pid].'_'.$v[name]]){
              $tem[$v[pid].'_'.$v[name]]=$v;
      print_r($v);
    }else{
                    exit;
    }
    }
      

  2.   

    程序中是想知道是否有重复(pid和name都相同)
      

  3.   

    需要判断的是pid和name同时相同
      

  4.   

    php有个array_unique()函数可去除重复的值,就是不知道对二维数组是否管用
      

  5.   


    $array = array(
        array('pid' => 1, 'name' => 'a'),
        array('pid' => 2, 'name' => 'b'),
        array('pid' => 3, 'name' => 'c'),
        array('pid' => 4, 'name' => 'd'),
        array('pid' => 5, 'name' => 'e'),
        array('pid' => 1, 'name' => 'a'),
        array('pid' => 4, 'name' => 'd')
    );
    $idList = array();
    foreach ($array as $key => $value) {
        $idList[] = implode(',', $value);
    }
    $idList2 = array_diff_assoc($idList, array_unique($idList));
    foreach ($idList2 as $key => $value) {
        $akey = array_search($value, $idList);
        echo '重复数组:';
        print_r($array[$akey]);
    }