本帖最后由 lilysob 于 2011-12-26 19:57:49 编辑

解决方案 »

  1.   

    <?php    $a=array("1_29","2_334","1","2","1_30","5_334","6","10");
        var_dump($a);    $keys=array();
        $result=array();
        foreach($a as $val){
            if(is_numeric($val))
                $keys[]=$val;
        }
        foreach($a as $val){
            if(!is_numeric($val)){
                $tmp=explode("_",$val);
                if(count($tmp)==2&&!in_array($tmp[0],$keys))
                    $result[]=$val;
            }
        }
        var_dump($result);
    ?>输出:array(8) {
      [0]=>
      string(4) "1_29"
      [1]=>
      string(5) "2_334"
      [2]=>
      string(1) "1"
      [3]=>
      string(1) "2"
      [4]=>
      string(4) "1_30"
      [5]=>
      string(5) "5_334"
      [6]=>
      string(1) "6"
      [7]=>
      string(2) "10"
    }
    array(1) {
      [0]=>
      string(5) "5_334"
    }
      

  2.   

    很土的代码,不过结果是你要的.$Array = array ('1_29', '2_334', '1', '2', '1_30', '5_334', '6', '10' );
    $ReferArray = array ();
    $FixArray = array ();
    $MyArray = array ();
    foreach ( $Array as $Value ) {
    if (strpos ( $Value, '_' ) == false) {
    $ReferArray [] = $Value;
    } else {
    $FixArray [] = substr ( $Value, 0, 1 );
    $MyArray [] = $Value;
    }
    }$FixArray = array_diff ( $FixArray, $ReferArray );
    foreach ( $FixArray as $Key => $Value ) {
    echo $MyArray [$Key];
    }
      

  3.   

    考试题?$ar = array ('1_29', '2_334', '1', '2', '1_30', '5_334', '6', '10' );foreach($ar as $k=>$v) {
      $c = strtok($v, '_');
      if($c != $v && ! in_array($c, $ar))
        $r[$k] = $v;
    }print_r($r);Array
    (
        [5] => 5_334
    )