2010-08-03 7 views
0

У меня есть следующий массив:как преобразовать этот массив?

["addToCart"]=> 
    array(3) { 
    [1]=> 
    array(5) { 
     ["aantal"]=> 
     int(1) 
     ["film_id"]=> 
     string(1) "1" 
     ["zaal_id"]=> 
     string(1) "1" 
     ["dag"]=> 
     string(7) "maandag" 
     ["seats"]=> 
     array(4) { 
     [0]=> 
     string(2) "67" 
     [1]=> 
     string(2) "68" 
     [2]=> 
     string(2) "69" 
     [3]=> 
     string(2) "70" 
     } 
    } 

Вы можете видеть, что у меня есть массив под названием «место» внутри «AddToCart» array.There 4 элементов в массиве «мест». то, что я хотел бы иметь, это 4 отдельных массива, они должны иметь одинаковый контент, но каждый из них должен иметь 1 значение «мест».

+3

Можете ли вы привести пример, как в результате массив должен выглядеть? –

+0

Вам не хватает финальной закрывающей фигурной скобки FWIW .... –

ответ

4

Я не уверен, что я получил именно то, что вы хотите сделать, но это приведет массив массивов, где каждый имеет только одно место:

$seatArrays = array(); 

foreach ($addToCart as $arr) 
{ 
    foreach ($arr["seats"] as $seat) 
    { 
    $seatArr = $arr;   // Copy the original array 
    $seatArr["seats"] = $seat; // Replace the "seats" subarray with the current seat 
    $seatArrays[] = $seatArr;  
    } 
} 
+0

Это похоже на то, что я ищу, но я задал вопрос wron, на самом деле это сеансовый массив, и мне нужно его преобразовать так, как вы описали но он должен снова стать массивом сеансов. Может быть, я говорю глупо, что не делаю этого сам, но я не знаю, как это сделать. Я все еще учился в книгах и т. Д., И это было сложнее, чем я думал. – vincent

+0

Я попытался адаптировать ваш код и немного поработать с ним, но я узнал, что если вы проследите следующее: foreach ($ addToCart as $ arr) теряет все идентификаторы, он дает следующий результат. ' массива (5) { [0] => Int (1) [1] => строка (1) "1" [2] => строка (1) "1" [3 ] => строки (7) "maandag" [4] => массива (2) { [0] => строки (2) "21" [1] => строка (2) «22 " } } – vincent

+0

Я не совсем уверен, о чем вы говорите ... если в подмассивах' $ addToCart' есть ключи, то '$ arr' в' foreach ($ addToCart as $ arr) ' будет также. И с точки зрения сеансов вы можете просто положить '$ seatArray' обратно в свою сессию ... –

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