PHP将多维数组插入另一个多维数组

时间:2015-12-28 13:45:39

标签: php arrays

我有这两个数组:

Array
(
    [InterfacedaRequisicaodePagamento] => Array
        (
            [0] => Array
                (
                    [SequenciadoRegistro] => 15015
                    [CodigodaContadoDocumento] =>  
                )

        )

)

Array
(
    [InterfaceGrupoRequisicaodePagamento] => Array
        (
            [0] => Array
                (
                    [CodigodoProjeto] =>  
                )

        )

)

我需要的是在第一个数组的CodigodaContadoDocumento项之后插入第二个数组以生成JSON字符串,但array_push不适用它,我不知道如何在这种情况下使用array_splice

我正在使用

array_push($interfaceRequisicaoPagamento, $interfaceGrupoRequisicaodePagamento);

,结果如下:

    Array (
    [InterfacedaRequisicaodePagamento] => Array (
        [0] => Array (
            [SequenciadoRegistro] => 15015
            [CodigodaContadoDocumento] => 
        )
    )
    [0] => Array (
        [InterfaceGrupoRequisicaodePagamento] => Array (
            [0] => Array (
                [CodigodoProjeto] => 
            )
        )
    )
)

但我需要的是:

Array
(
    [InterfacedaRequisicaodePagamento] => Array
    (
        [0] => Array
            (
                [SequenciadoRegistro] => 15015
                [CodigodaContadoDocumento] =>  
                [InterfaceGrupoRequisicaodePagamento] => Array
                (
                    [0] => Array
                        (
                            [CodigodoProjeto] =>  
                        )

                )
            )
    )
)

2 个答案:

答案 0 :(得分:3)

试试吧。

<?php 

$array1 = array('InterfacedaRequisicaodePagamento' => array
            ( 0 => array
                (
                    'SequenciadoRegistro' => 15015,
                    'CodigodaContadoDocumento' =>  ''
                ) ) );
$array2  = array('InterfaceGrupoRequisicaodePagamento' => array
        (0 => array
            (
                'CodigodoProjeto' =>  ''
            )));
$array1['InterfacedaRequisicaodePagamento']['0']['InterfaceGrupoRequisicaodePagamento'] = $array2['InterfaceGrupoRequisicaodePagamento'];

echo "<pre>";
print_r($array1);
$jsonData = json_encode($array1);
echo $jsonData;

?>

=&GT; OUTPUT

Array
(
    [InterfacedaRequisicaodePagamento] => Array
        (
            [0] => Array
                (
                    [SequenciadoRegistro] => 15015
                    [CodigodaContadoDocumento] => 
                    [InterfaceGrupoRequisicaodePagamento] => Array
                        (
                            [0] => Array
                                (
                                    [CodigodoProjeto] => 
                                )

                        )

                )

        )

)
{"InterfacedaRequisicaodePagamento":[{"SequenciadoRegistro":15015,"CodigodaContadoDocumento":"","InterfaceGrupoRequisicaodePagamento":[{"CodigodoProjeto":""}]}]}

答案 1 :(得分:1)

这也可以起作用:

<?php
$array1 = array('InterfacedaRequisicaodePagamento' => array(array('SequenciadoRegistro' => 15015, 'CodigodaContadoDocumento' => null)));
$array2 = array('InterfaceGrupoRequisicaodePagamento' => array(array('CodigodoProjeto' => null)));

print_r($array1);
print_r($array2);

$array1['InterfaceGrupoRequisicaodePagamento'] = $array2['InterfaceGrupoRequisicaodePagamento'];

print_r($array1);