Малко помощ с масиви

kikity_94

Registered
Здравейте, направих си пазарска количка със сесии и когато се добави продукт в количката добавя ид-то на продукта в масив всяко ид е с нов ключ в масива, но сега реших малко да я разширя, като в ключа добавя още някои стойности, като колко бройки е поръчал и размера на продукта. В началото масива изглеждаше по този начин

Array ( [1] => 1 [2] => 2 [3] => 3 ) - Ключ 1 е продукт с ИД 1, Ключ 2 е продукт с ИД 2 и т.н.
Сега след като добавих тези работи масива ми изглежда по този начин

Array ( [1] => 1 1 S [2] => 2 5 S [3] => 3 4 XXXL )
В ключима по 3 стойности
Ключ 1 :
1-ид-то на продукта
1-Бройката на продуктите
S-размера на продукта

В първия случаи ползвах explode за да разделя масива на ключове като ползвам всяко ид. Сега се чудя как след като го разделя после да разделя и стойностите от всеки ключ да мога да ползвам всяка стойност от ключа.
Надявам се, че сте ме разбрали ако не пак ще опитам да обесня

EDIT: // Замислих се малко-повече и се зачудих длаи няма да стане с многомерни масиви, обаче не съм сигурен дали ще се справя.
В момента добавям продукта в сесията ето така:

PHP:
$_SESSION['shoppingCart'] = $_SESSION['shoppingCart'].","."$item_id $item_piece $size";
Накрая се получава ето това:

Array ( [1] => 1 1 S [2] => 2 5 S [3] => 3 4 XXXL )
В ключима по 3 стойности
Ключ 1 :
1-ид-то на продукта
1-Бройката на продуктите
S-размера на продукта

Сега се зачудих как може да стане следното нещо с многомерни масиви, примерно ид-то на продукта да е самият ключ този ключ да садържа друг масив с размера и този масив да садържа друг с колко бройки са поръчани
 
Не те разбрах много, но все пак нека предложа нещо. Пускаш си един Foreach и въртиш всичко.

Код:
foreach($ar as $k=>$v){
echo $k;
echo $v;
}
 
Това се прави със двумерен масив.

Може да използваш ID продуките за ключове, ако си сигурен че не може да има друг продукт със едно и също ID.

PHP:
$product; // Носи INFO на продукта

$masiv[$product['id']] = array(
  'size' => $product['size'],
  'color' => $product['color']
);

Другия вариант със автоматичните ключове:

PHP:
$masiv[]  = array(
  'product_id' = $product['id'],
  'size' => $product['size'],
  'color' => $product['color']
);
 
Ето го тествай:

Променяш само стойността във сесииния масив и даваш рефреш.

PHP:
<?php
session_start();

$_SESSION['shoppingCart'][] = array(
  
  'item_id' => 3,
  'item_piece' => 40,
  'item_size' => 'L'
 
);

$shopCart = $_SESSION['shoppingCart'];

var_dump($shopCart);

foreach($shopCart as $item) {

echo $item['item_id'];
echo ' | ';
echo $item['item_piece'];
echo ' | ';
echo $item['item_size'];

echo '<br /><hr /><br />';


}
 

Back
Горе