0

如何实现以下?

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

我想比较数组 1 和数组 2,并在数组 2 的值为 时将值从数组 1 复制到数组 2 null。上面数组的示例我只想将 c1 和 c4 键从数组 1 复制到数组 2。

谢谢您的帮助

4

3 回答 3

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;
}
于 2013-03-22T15:23:21.283 回答
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);
 ?>
于 2013-03-22T15:28:57.420 回答
0

尝试这个 :

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

if ($value==null) $array2[$key]=$array1[$key];
于 2013-03-22T15:25:58.113 回答