Php 如何在索引的基础上用一个数组填充另一个数组中缺少的值

Php 如何在索引的基础上用一个数组填充另一个数组中缺少的值,php,arrays,Php,Arrays,您好先生,下面是我的多维数组,其中包含特定索引上缺少的一些值 $array1=数组 ( [2] =>阵列 ( [1] => 2 [2] => 4 [3] => 9 ) ) 下面是我的第二个数组 我想将索引3和4的array2值放入$array1索引3和4中。但我不想替换整个数组值。 我只想替换$array1中的空值 $array2=数组 ( [3] =>阵列 ( [1] => 2 [2] => 4 [3] => 9 ) ) 以下所需输出,其中我以单个qoutes显示替换值) $array1=数组

您好先生,下面是我的多维数组,其中包含特定索引上缺少的一些值

$array1=数组 ( [2] =>阵列 ( [1] => 2 [2] => 4 [3] => 9 )

)

下面是我的第二个数组 我想将索引3和4的array2值放入$array1索引3和4中。但我不想替换整个数组值。 我只想替换$array1中的空值

$array2=数组 ( [3] =>阵列 ( [1] => 2 [2] => 4 [3] => 9 )

)

以下所需输出,其中我以单个qoutes显示替换值)

$array1=数组 ( [2] =>阵列 ( [1] => 2 [2] => 4 [3] => 9 )

就是这样:

$array1 = array("2"=> array("1"=>"2", "2"=>"4", "3"=>"9"),
                "3"=> array("1"=>"4", "2"=>"6", "3"=>""),
                "4"=> array("1"=>"4", "2"=>"6", "3"=>"7"),
                "5"=> array("1"=>"2", "2"=>"4", "3"=>"")
                );

$array2 = array("3"=> array("1"=>"2", "2"=>"4", "3"=>"9"),
                "5"=> array("1"=>"4", "2"=>"6", "3"=>"7")
                );

foreach ($array1 as $key => $value) {
    foreach ($value as $key2 => $value2) {
        if($value2 == ""){
            $array1[$key][$key2] = $array2[$key][$key2];
        }
    }
}
echo '<pre>';
print_r($array1);
echo '</pre>';

使用foreach循环检查索引是否为空,如果为空,则将新值放在此处。我尝试了,但在多维数组中我感到困惑。然后,等等,我为您做了这件事。好的,先生,谢谢。请看答案,我已经回答了您的问题。先生,真的非常感谢@Frayne Konok先生
[5] => Array
    (
        [1] => 4
        [2] => 6
        [3] => 7
    )
[3] => Array
    (
        [1] => 4
        [2] => 6
        [3] =>  '9'
    )

[4] => Array
    (
        [1] => 4
        [2] => 6
        [3] => 7
    )

[5] => Array
    (
        [1] => 2
        [2] => 4
        [3] =>   '7'
    )
$array1 = array("2"=> array("1"=>"2", "2"=>"4", "3"=>"9"),
                "3"=> array("1"=>"4", "2"=>"6", "3"=>""),
                "4"=> array("1"=>"4", "2"=>"6", "3"=>"7"),
                "5"=> array("1"=>"2", "2"=>"4", "3"=>"")
                );

$array2 = array("3"=> array("1"=>"2", "2"=>"4", "3"=>"9"),
                "5"=> array("1"=>"4", "2"=>"6", "3"=>"7")
                );

foreach ($array1 as $key => $value) {
    foreach ($value as $key2 => $value2) {
        if($value2 == ""){
            $array1[$key][$key2] = $array2[$key][$key2];
        }
    }
}
echo '<pre>';
print_r($array1);
echo '</pre>';
Array
(
    [2] => Array
        (
            [1] => 2
            [2] => 4
            [3] => 9
        )

    [3] => Array
        (
            [1] => 4
            [2] => 6
            [3] => 9
        )

    [4] => Array
        (
            [1] => 4
            [2] => 6
            [3] => 7
        )

    [5] => Array
        (
            [1] => 2
            [2] => 4
            [3] => 7
        )

)