如何用另一个数组索引值替换一个数组键值?

时间:2013-12-20 11:23:46

标签: php arrays

$a=array ( [0] => 0 [1] => 3 );
$b=array ( [0] => Done [1] => Pending ) ;

我想要这样的事情:

array([0]=>Done [3]=>Pending)

4 个答案:

答案 0 :(得分:6)

使用:array_combine()

$result = array_combine($a, $b);
print_r($result); // => Array ( [0] => Done [1] => Pending )

Demo.

答案 1 :(得分:1)

使用array_replace()

$a = array( [0] => 0 [1] => 3 );
$b = array( [0] => Done [1] => Pending ) ;

$result = array_replace($a, $b);

数组替换,用$ b的值替换$ b中具有相同键的$ a的所有值。

答案 2 :(得分:0)

请试试这个

 $a=array (0=>0,1=>3);
 $b=array (0=>'Done',1=>'Pending');
 $c= array_merge($a,$b);

echo "<br/> a: ";print_r($a); 
echo "<br/> b: ";print_r($b); 
echo "<br/> c: ";print_r($b); 

输出:

a:数组([0] =&gt; 0 [1] =&gt; 3)

b:数组([0] =&gt;完成[1] =&gt;待定)

c:数组([0] =&gt;完成[1] =&gt;待定)

使用在线编辑器进行尝试[在线测试您的PHP代码,就在这里。]

http://writecodeonline.com/php/

http://www.php.net/manual/en/function.array-merge.php

中的示例

答案 3 :(得分:0)

如果你的两个数组大小相同,那么试试这个:

$a =array( 0 => 0, 1 => 3 );  
$b=array ( 0 => "Done", 1 => "Pending" ) ;  

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