içine iki dizileri birleştirme php

2 Cevap php

Ben birlikte birleşti ve bunu yapmanın doğru yolu anlamaya çalışıyorum gereken iki diziler var.

Bu ilk dizidir

Array
    (
        [IndividualOutmsg] => Array
            (
                [0] => Array
                    (
                        [user_id] => 3
                        [number] => 414566765
                        [msg] => some message
                    )

                [1] => Array
                    (
                        [user_id] => 3
                        [number] => 410335509
                        [msg] => any message
                    )

            )

    )

Bu ikinci dizidir:

Array
    (
        [0] => Array
            (
                [0] => OK
                [1] => 0
                [2] => d142b46128b869d0
                [3] => 6178977058476937
            )

        [1] => Array
            (
                [0] => OK
                [1] => 0
                [2] => 60f403f4e243e684
                [3] => 6198708709873543
            )
    )

ne ben almak istiyorum şudur:

Array
(
    [IndividualOutmsg] => Array
        (
            [0] => Array
                (
                    [user_id] => 3
                    [number] => 414566765
                    [msg] => some message
                    [sms_status] => OK
                    [error_code] => 0
                    [msg_id] => d142b46128b869d0
                    [msg_id_2] => 6178977058476937

                )

            [1] => Array
                (
                    [user_id] => 3
                    [number] => 410335509
                    [msg] => any message
                    [sms_status] => OK
                    [error_code] => 0
                    [msg_id] => 60f403f4e243e684
                    [msg_id_2] => 6198708709873543

                )

        )

)

2 Cevap

Bu biçimde, gerçekten ayak işi bir sürü kendiniz yapmak zorunda ve sadece diziler birleştirmek için array_merge kullanamazsınız. Bir daha özel bir iş olmak zorunda, gibi pek olur:

$count = count($second_array);
for($i=0; $i<$count; $i++){
   $first_array['IndividualOutmsg'][$i]['sms_status'] = $second_array[0];
   $first_array['IndividualOutmsg'][$i]['error_code'] = $second_array[1];
   $first_array['IndividualOutmsg'][$i]['msg_id'] = $second_array[2];
   $first_array['IndividualOutmsg'][$i]['msg_id2'] = $second_array[3];
}

Eğer çıkış ayarlanmış birleştirici tuşları ile ikinci dizi olsaydı, o, array_merge kullanarak bunları birleştirmek çok daha kolay olacaktır tuşları çatışma yoktu sağlanan olacaktır.

$count = count($second_array);
for($i=0; $i<$count; $i++){
   $first_array['IndividualOutmsg'][$i] = 
            array_merge($first_array['IndividualOutmsg'][$i], $second_array[$i]);
}

http://au.php.net/manual/en/function.array-merge.php

Dizi birleştirme aradığınız şey olabilir ...

Muhtemelen, sizin çok boyutlu dizide doğru yere almak birleştirmeyi gerçekleştirmek ve aynı zamanda ilgili tuşlarını değiştirebilirsiniz bir döngü veya fonksiyon yazmak gerekir rağmen.