Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:比较数组并将第一个数组值复制到第二个数组值,其中第二个数组值为null_Php_Arrays_Null_Copy - Fatal编程技术网

PHP:比较数组并将第一个数组值复制到第二个数组值,其中第二个数组值为null

PHP:比较数组并将第一个数组值复制到第二个数组值,其中第二个数组值为null,php,arrays,null,copy,Php,Arrays,Null,Copy,如何做到以下几点 $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的值为null时,将值从数组1复制到数组2。上面数

如何做到以下几点

$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的值为
null
时,将值从数组1复制到数组2。上面数组中的示例我只想将c1和c4键从数组1复制到数组2

感谢您的帮助

循环怎么样:

并最小化,但可读性稍差:

foreach($array1 as $key=>$value){
    $array2[$key] = $array2[$key] ? $array2[$key] : $value;
}
循环怎么样:

并最小化,但可读性稍差:

foreach($array1 as $key=>$value){
    $array2[$key] = $array2[$key] ? $array2[$key] : $value;
}
试试这个:

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

if ($value==null) $array2[$key]=$array1[$key];
试试这个:

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

if ($value==null) $array2[$key]=$array1[$key];
试试这个

<?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);
 ?>

试试这个

<?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);
 ?>