2013-03-22 154 views
0

如何实现以下内容?PHP:比较数组并将第一个数组值复制到第二个数组值,其中第二个数组值为null

$array1 = array(id => '11', c1 => 'abcd', c2 => '4500', c3 => 'texas' ,c4=>'name'); 
$array2 = array(id => '12', c1 => '', c2 => '4500', c3 => 'arizona', c4=>''); 

我想比较阵列1和阵列2和从阵列1复制到阵列2值时阵列2值是null。从上面阵列我想从阵列1只复制C1 & C4键阵列2

感谢您的帮助

+0

..How没去了? – George 2013-03-22 15:51:25

回答

4

例如怎么样foreach()循环:

foreach($array1 as $key=>$value){ 
    if(!$array2[$key]){ 
     $array2[$key] = $value; 
    } 
} 

和最小化的,但少读:

foreach($array1 as $key=>$value){ 
    $array2[$key] = $array2[$key] ? $array2[$key] : $value; 
} 
+0

+1,实际上是最可读的方式。 – raina77ow 2013-03-22 15:25:49

0

试试这个:

foreach($array2 as $key=>$value) 

if ($value==null) $array2[$key]=$array1[$key]; 
0

试试这个

<?php 
$array1 = array(id => '11', c1 => 'abcd', c2 => '4500', c3 => 'texas' ,c4=>'name'); 
$array2 = array(id => '12', c1 => '', c2 => '4500', c3 => 'arizona', c4=>''); 

foreach($array2 as $key =>$value) 
{ 
    if($value == '') 
{ 
    $array2[$key] = $array1[$key]; 
} 
} 

print_r($array2); 
?> 
+0

@Rajani你的欢迎队友很高兴帮助你:) – alwaysLearn 2013-03-22 15:49:43

相关问题