2009-10-13 21 views
11

Potrzebuję scalić 2 wielowymiarowe tablice razem, aby utworzyć nową tablicę.
Dwie tablice są tworzone z $_POST i $_FILES i potrzebuję ich ze sobą powiązać.PHP: scalanie 2 wielowymiarowych tablic

Array # 1

Array 
(
    [0] => Array 
     (
      [0] => 123 
      [1] => "Title #1" 
      [2] => "Name #1" 
     ) 
    [1] => Array 
     (
      [0] => 124 
      [1] => "Title #2" 
      [2] => "Name #2" 
     ) 
) 

Array # 2

Array 
(
    [name] => Array 
     (
      [0] => Image001.jpg 
      [1] => Image002.jpg 
     ) 
) 

nową tablicę

Array 
(
    [0] => Array 
     (
      [0] => 123 
      [1] => "Title #1" 
      [2] => "Name #1" 
      [3] => "Image001.jpg" 
     ) 
    [1] => Array 
     (
      [0] => 124 
      [1] => "Title #2" 
      [2] => "Name #2" 
      [3] => "Image002.jpg" 
     ) 
) 

Obecny kod używam działa, ale tylko na ostatniej pozycji w szyk.
Przypuszczam, że poprzez zapętlenie funkcji array_merge, wymazywa ona moją nową tablicę w każdej pętli.

$i=0; 
$NewArray = array(); 
foreach($OriginalArray as $value) { 
    $NewArray = array_merge($value,array($_FILES['Upload']['name'][$i])); 
    $i++; 
} 

Jak mogę to poprawić?

Odpowiedz

11
$i=0; 
$NewArray = array(); 
foreach($OriginalArray as $value) { 
    $NewArray[] = array_merge($value,array($_FILES['Upload']['name'][$i])); 
    $i++; 
} 

[] doda ją do tablicy zamiast nadpisywać.

+0

Dzięki, było tak blisko: D – ticallian

3

Korzystanie tylko pętle i notacja tablica:

$newArray = array(); 
$i=0; 
foreach($arary1 as $value){ 
    $newArray[$i] = $value; 
    $newArray[$i][] = $array2["name"][$i]; 
    $i++; 
} 
+0

przepraszam. Mam ten sam problem. Chcę zapytać, Kiedy mam inną długość tablica # 1> tablica # 2. Chcę podać wartość dla tablicy # 2 'ImageEmpty.jpg'. dziękuję przed – Stfvns

Powiązane problemy