如何用特定索引中的其他数组值替换一个数组值?

时间:2013-12-20 05:38:14

标签: php arrays

我有一个数组

$a=array([0]=>x [3]=>y);

$b=array([0]=>s [1]=>k  [2]=>m [3]=>z);

我想用x和z替换数组a的键值s和Y. 数组的输出将是

array([0]=>x [1]=>k  [2]=>m [3]=>y)

5 个答案:

答案 0 :(得分:2)

您可以像其他用户建议的那样使用array_replace

<?php
$a=array(0=>'x',3=>'y');
$b=array(0=>'s',1=>'k',2=>'m',3=>'z');
$c=$a+$b;
ksort($c);
print_r($c);
?>

答案 1 :(得分:0)

利用array_replace()

<?php
$a=array(0=>'x',3=>'y');
$b=array(0=>'s',1=>'k',2=>'m',3=>'z');
print_r(array_replace($b,$a));

输出:

Array
(
    [0] => x
    [1] => k
    [2] => m
    [3] => y
)

答案 2 :(得分:0)

使用 array_replace - 将传递的数组中的元素替换为第一个数组

<?php
  $a=array(0=>'P',3=>'R');
  $b=array(0=>'s',1=>'k',2=>'m',3=>'z');
  print_r(array_replace($a1,$a2));
?> 

答案 3 :(得分:0)

为什么不使用union运算符

$a = array(0=>'x', 3=>'y');
$b = array(0=>'s', 1=>'k',  2=>'m', 3=>'z');

// union of array $a and $b
$c = $a + $b;
// sort array by key, so output keys are sorted
ksort($c);
echo '<pre>' . print_r($c, true) . '</pre>';

<强>输出

Array
(
    [0] => x
    [1] => k
    [2] => m
    [3] => y
)

答案 4 :(得分:0)

<?php
   $a=array(0=>'x', 3=>'y');
   $b=array(0=>'s', 1=>'k',  2=>'m', 3=>'z');
   $result = $a+$b;
   ksort($result);
   print_r($result);
?>

输出:

Array ( [0] => x [1] => k [2] => m [3] => y )