J'ai ajouté les données à la session Joomla en tant que:
$cart['items'][] = array('id' => 1, 'name' => 'Laptop');
$cart['items'][] = array('id' => 2, 'name' => 'Tablet');
$session->set('cart', $cart);
Si je veux récupérer les données et utiliser
$cart_result = $session->get('cart');
echo $cart_result;
Je ne reçois que la Parole Tablea. Comment puis-je récupérer les données correctement? S'il vous plaît écrivez différentes options: pour un tableau entier et une seule ligne. Je ne veux pas dire echo print_r($cart_result, TRUE)
La solution la plus simple est:
foreach($cart_result['items'] as $result) {
echo $result['id'];
echo $result['name'];
}
Ok, j'en ai quelques-unes avec ce qui suit qui, espérons-le, fonctionnera pour vous.
Donc, premièrement, vous devez définir la variable de session comme suit:
$cart_result = $session->get('cart');
Ensuite, vous devrez parcourir le tableau renvoyé, comme suit:
$keys = array_keys($cart_result);
$count = count(array_shift(array_values($cart_result)));
for ($i = 0; $i<$count; $i++)
{
$results = array();
foreach ($keys as $key)
{
$results[$key] = $cart_result[$key][$i];
}
foreach ($results as $result)
{
echo $result['id'];
echo $result['name'];
}
}
À partir du vidage que vous fournissez dans votre commentaire, ceci produira les éléments suivants:
1 Laptop
2 Tablet
Pour PHP 5.4+ où des erreurs strictes seront générées, remplacez:
$count = count(array_shift(array_values($cart_result)));
avec:
$tmp = array_values($cart_result);
$count = count(array_shift($tmp));