>

배열에 배열을 추가하는 데 문제가 있습니다. 해결할 수 없습니다.

이 배열 $A가 있습니다 :

Array
(
    [1001] => Array
            (
                [0] => Array
                    (
                        [name] => 'Joe'
                        [surname] => 'Doe'
                        [age]  => 20
                        [height] => 180
                        [weight] => 80
                     )
            )
)

이 배열 $B가 있습니다 :

Array
(
    [height] => 200
    [weight] => 100
)

이 결과를 얻기 위해 새 배열을 만드는 방법 :

Array
(
    [1001] => Array
            (
                [0] => Array
                    (
                        [name] => 'Joe'
                        [surname] => 'Doe'
                        [height] => 180
                        [weight] => 80
                        [age]  => 20
                     )
            )
    [1001] => Array
            (
                [1] => Array
                    (
                        [name] => 'Joe2'
                        [surname] => 'Doe2'
                        [height] => 200
                        [weight] => 100
                        [age]  => 22
                     )
            )
)

이걸 사용하지만 결과가 올바르지 않습니다 :

$array[1001][] = [
            'name'   => 'Joe2',
            'surname'=> 'Doe2',
            $B,
            'age' => 22
        ];

답변 주셔서 감사합니다.

  • 답변 # 1

    + 연산자를 사용할 수 있습니다  배열을 병합하려면 :

    $array = array(
        1001 => array(
            array(
                'name' => 'Joe',
                'surname' => 'Doe',
                'height' => 180,
                'weight' => 80,
                'age'  => 20
            )
        ),
    );
    $B = array('height' => 200, 'weight' => 100);
    $array[1001][] = [
                'name'   => 'Joe2',
                'surname'=> 'Doe2',
                'age' => 22
            ] + $B;
    print_r($array);
    
    

    출력 여부 :

    Array
    (
        [1001] => Array
            (
                [0] => Array
                    (
                        [name] => Joe
                        [surname] => Doe
                        [height] => 180
                        [weight] => 80
                        [age] => 20
                    )
                [1] => Array
                    (
                        [name] => Joe2
                        [surname] => Doe2
                        [age] => 22
                        [height] => 200
                        [weight] => 100
                    )
            )
    )
    
    

  • 답변 # 2

    어레이 _merge ()를 사용해보십시오 :

    $array[1001][] = array_merge(['name'=>'Joe2','surname'=> 'Doe2','age' => 22],$B);
    
    

    또는

    $array[1001][] = ['name'=>'Joe2','surname'=> 'Doe2','age' => 22] + $B;
    
    

  • 답변 # 3

    array_merge 를 사용할 수 있습니다  이렇게 :

    $array[1001][] = array_merge([
        'name'   => 'Joe2',
        'surname'=> 'Doe2',
        'age' => 22
    ], $B);
    
    

  • 답변 # 4

    $innerArray = array();
    $item1Array = array();
    array_push($item1Array,"Data 1");
    array_push($item1Array,"Data 2");
    $item2Array = array();
    array_push($item2Array,"Data 3");
    array_push($item2Array,"Data 4");
    array_push($innerArray, $item1Array);
    array_push($innerArray, $item2Array);
    $result = array();
    $result["result"] = "Success";
    $result["user"] = $innerArray;
    
    

    결과 :

    {
        "result" => "Success",
        "user" => [
            [0] =>[
                [0]=>"Data 1",
                [1]=>"Data 1",
            ],
            [1] =>[
                [0]=>"Data 3",
                [1]=>"Data 4",
            ]
        ]
    }
    
    

    도움이 되길 바랍니다.

  • 이전 Excel VBA - 엑셀 vba - 날짜가 다른 로그인/로그 아웃 시간을 계산하는 방법은 무엇입니까?
  • 다음 r - group_by ()와 함께 cut () 사용