2013-09-20 9 views
0

내 프로그램에는 5 개의 배열이 있습니다. 모든 배열의 길이는 같습니다. 이 예에서는 모든 배열에 6 개의 항목이 있다고 가정 해 보겠습니다. 첫 번째 항목 array1 [0]은 다른 배열 인덱스 0의 값과 쌍을 이루어야합니다. 따라서 모든 인덱스 0, 모든 인덱스 1과 2,3,4 및 인덱스 5가있는 배열을 얻습니다. .5 개의 배열을 PHP의 5 개의 "결합 된"배열로 병합

어떻게하면됩니까?

추가 정보 : shopping_cart의 항목에 대한 정보가 들어있는 다음 배열이 있습니다.

$nameArray - contains the names of the products in the basket 
$productIdArray - contains the id_numbers of the products in the basket 
$priceArray - array of the prices for each item in the basket 
$quantityArray - array which holds the quantity of each item in the basket 

등 등

I 출력을 변경하려면거야, 그래서 나는 아약스에서의 보내기 위해 모든 각이 값의 하나의 제품을 나타내는 배열을 포함하는 multidimensionel 배열을 보낼 수 있습니다 전화 ...

희망적입니다. :)

+2

실제로 : 어떻게 생각하니, 무엇을 시도 했습니까? –

+0

가변 개수의 요소가있는 경우에도 일반 솔루션에 대한 내 대답을 찾으십시오. – footy

답변

1

프로세스를 설명하는 데 충분해야하므로 4 개의 어레이 만 사용했습니다. 여기에 좀 더 우아한 해결책이있을 수 있지만 좀 더 생각해야 할 것입니다.

요점은이 문제를 테이블처럼 생각하는 것이 가장 쉽다는 점입니다. 인스턴스는 실제로 비교적 간단합니다. 행 배열이 있고이를 열 배열로 변환하려고합니다. 내 솔루션을 확인하십시오.

<?php 

$one = array('brown', 'green', 'red', 'yellow', 'orange', 'purple'); 
$two = array('cupcake', 'honeycomb', 'icecream', 'chocolate', 'jellybean', 'milkshake'); 
$three = array('monday', 'tuesday', 'wednesday', 'thrusday', 'friday', 'saturday'); 
$four = array('january', 'february', 'march', 'april', 'august', 'september'); 

//put all of your arrays into one array for easier management 
$master_horizontal = array($one, $two, $three, $four); 
$master_vertical = array(); 

foreach ($master_horizontal as $row) { 
    foreach ($row as $key => $cell) { 
    $master_vertical[$key][] = $cell; 
    } 
} 

echo "<PRE>"; 
print_r($master_vertical); 

반환 ... 당신이 지금은 일반적인 설명을 제공합니다의로 작성한 코드를 게시하지 않은 때문에

Array 
(
    [0] => Array 
     (
      [0] => brown 
      [1] => cupcake 
      [2] => monday 
      [3] => january 
     ) 

    [1] => Array 
     (
      [0] => green 
      [1] => honeycomb 
      [2] => tuesday 
      [3] => february 
     ) 

    [2] => Array 
     (
      [0] => red 
      [1] => icecream 
      [2] => wednesday 
      [3] => march 
     ) 

    [3] => Array 
     (
      [0] => yellow 
      [1] => chocolate 
      [2] => thrusday 
      [3] => april 
     ) 

    [4] => Array 
     (
      [0] => orange 
      [1] => jellybean 
      [2] => friday 
      [3] => august 
     ) 

    [5] => Array 
     (
      [0] => purple 
      [1] => milkshake 
      [2] => saturday 
      [3] => september 
     ) 

) 
+0

고맙습니다. – Zahrec

0

. 이것은 숙제 문제와 비슷해 보이므로 작업 솔루션을 게시하지 마십시오.

let there be N arrays with variable number of elements in it. 
Let Answer_Array be an array of arrays. 
loop i=0 to N 
    tmpArray = Arrays[i] 
    loop j=0 to length(N)-1 
     add tmpArray[j] to Answer_Array[j] 
    end loop 
end loop 

당신은 배열의 배열 및 배열의 ​​배열에 저장 최종 출력에 원래의 입력을 결합 할 경우,이 사소한는 PHP입니다.

+0

숙제가 아닙니다. 그것은 내가 개발중인 webshop 시스템을위한 것입니다. – Zahrec

관련 문제