我们如何通过索引将数组中的一些值填充到另一个包含空值的数组中


how we fill some values of array to another array that contain the null values by index

波纹管是我的数组,包含空值

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] => 
        )
    [6] => Array
        (
            [1] => 
            [2] => 6
            [3] => 8
        )
)

下面是我的另一个数组,包含主索引3,5,6现在我希望下面数组的值(3,3,3)我想放上面包含空值的数组请指导我如何根据主索引将下面的数组值放在上面的数组空空间

Array
(
    [3] => Array
        (
            [2] => 3
        )
    [5] => Array
        (
            [4] => 3
        )
    [6] => Array
        (
            [2] => 3
        )
)

所以在填充之后,我想要像下面这样的结果所以对于清关,我使用单引号来显示填充值

阵列([2] =>阵列([1] =>2[2] =>4[3] =>9)

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

)

尝试这个

$array1 = [
    2 => [1 => 2, 2=> 4, 3 => 9],
    3 => [1 => 4, 2=> 6, 3 => null],
    4 => [1 => 4, 2=> 6, 3 => 7],
    5 => [1 => 2, 2=> 4, 3 => null],
    6 => [1 => null, 2=> 6, 3 => 8]
];
$array2 = [
    3 => [2 => 3],
    5 => [4 => 3],
    6 => [2 => 3]
];
foreach($array1 as $key => $value) {
    if(true === array_key_exists($key, $array2)) {
        foreach($value as $innerKey => $innerValue) {
            if(null === $innerValue) {
                $array1[$key][$innerKey] = ''''.current($array2[$key]).'''';
            }
        }
    }
}
var_dump($array1);

您可以尝试使用此

$nulls = [
    2 => [1 => 2, 2=> 4, 3 => 9],
    3 => [1 => 4, 2=> 6, 3 => null],
    4 => [1 => 4, 2=> 6, 3 => 7],
    5 => [1 => 2, 2=> 4, 3 => null],
    6 => [1 => null, 2=> 6, 3 => 8] ];
$fills= [3 => [2 => 3],5 => [4 => 3],6 => [2 => 3]];

foreach ( $fills as $key => $val ) {
    $nulls[$key][array_search('',$nulls[$key])] = array_values($val)[0]; 
}
var_dump($nulls); 

这将在第一个数组上搜索空值。

CCD_ 1数组是具有空值的数组,$fills数组是具有要填充的密钥的值的数组

这将循环$fills数组,搜索$nulls数组上的每个键,并查找空值