数组A{1,2,4,4,2,4},数组B{a,b,c},想用数组B去替换掉数组A中的元素,1用a代替,2用b代替,4用c代替。即想达到下面这种效果A{a,b,c,c,b,c}

解决方案 »

  1.   

    <?php
    $A = array( 1, 2, 4, 4, 2, 4);
    $B = array( 'a', 'b', 'c');
    $r = array_combine( array_unique($A), $B);
    // $r = array( 1=>'a', 2=>'b', 4=>'c' );
    foreach( $A as &$value){
         if( array_key_exists($value, $r) )
              $value = $r[$value];
    }
    var_dump($A);
      

  2.   

    找到个更漂亮的方法,str_replace 实在是强大:
    $A = array( 1, 2, 4, 4, 2, 4);
    $B = array( 'a', 'b', 'c');
    var_dump( str_replace( array_unique($A) , $B, $A) );
      

  3.   

    A数组:aArray ( [0] => Array ( [0] => 16507 [1] => zhangsan ) [1] => Array ( [0] => 16508 [1] => lishi ) [2] => Array ( [0] => 16509 [1] => mazi ) ) 
    B数组:Array ( [0] => Array ( [0] => 345 [1] => 张三 [2] =>ada ) [1] => Array ( [0] => 16508 [1] => 李四 [2] =>sss ) [2] => Array ( [0] => 16509 [1] => 麻子 [2] =>sfsf ) ) 
    得出这样的结果:
    c数组:Array ( [0] => Array ( [0] => 345 [1] => zhangsan [2] =>ada ) [1] => Array ( [0] => 16508 [1] => lishi [2] =>sss ) [2] => Array ( [0] => 16509 [1] => mazi [2] =>sfsf ) ) 
      

  4.   

    for($i=0;$i<count($b);$i++){
     $b[$i][1]=$a[$i][1];
    }
    print_r($b);