2015-04-27 4 views
-1

У меня есть массив с именем $this_image, созданный в цикле. В конце цикла я хочу добавить массив в больший массив.Нажмите полный массив, а не только отдельный элемент.

$this_image выглядит следующим образом:

array(1) { 
    [2161]=> 
    array(3) { 
    ["description"]=> 
    string(10) "Description goes here" 
    ["medium"]=> 
    string(102) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363-300x300.jpg" 
    ["full"]=> 
    string(94) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363.jpg" 
    } 
} 

Теперь я хочу, чтобы добавить этот массив в мой более глобальный массив, $all_images. Результат будет выглядеть примерно так:

$all_images =

array(2) { 
     [2161]=> 
     array(3) { 
     ["description"]=> 
     string(10) "Description goes here" 
     ["medium"]=> 
     string(102) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363-300x300.jpg" 
     ["full"]=> 
     string(94) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363.jpg" 
     } 
     [2162]=> 
     array(3) { 
     ["description"]=> 
     string(10) "Another description goes here" 
     ["medium"]=> 
     string(102) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363-300x300.jpg" 
     ["full"]=> 
     string(94) "http://localhost/new/wp-content/uploads/2015/04/57898d673ae1f7482d04ab1c3de60363.jpg" 
     } 
     ... 
    } 

Как мне это сделать? Я пробовал использовать array_push, но обнаружил, что я не могу нажать массив, только одну строку/int и т. Д. Как добавить новый массив к существующему?

В предыдущем заданном вопросе показано, как инициализировать новый массив с помощью нескольких элементов элемента, а не как массировать массив в существующую.

+1

' $ all_images [] = $ this_image; '?! – Rizier123

+0

Код Пожалуйста !!! –

+0

@ Rizier123 будет работать до PHP 5.4? – Francesca

ответ

3

Использование array_merge. Попробуйте с -

$all_images = array_merge($all_images, $this_image); 

Или решение Rizier123 ($all_images[] = $this_image;) также будет работать.

Или вы можете сделать это также -

$all_images += $this_image; // will preserve the keys on top level also 
+0

Почему не просто: '$ all_images [] = $ this_image;'? – Rizier123

+0

Этот код теряет данные ID и заменяет его 0,1 и т. Д. – Francesca

+0

@Francesca, если вы хотите сохранить идентификаторы, тогда Rizier123 будет работать. –

0

Простой пример для демонстрации:

<?php 

$a = array(1=>array('a','b')); 
$b = array(2=>array('c','d')); 

array_push($a, $b); 

print_r($a); 
?> 

~ `

Смежные вопросы