• PHP Help
  • Looping over a multidimensional array

<?php
$SESSION["cart_item"] = array(
'cart_item' => array(
'id' => $id,
'product_name' => $product_name
));
}
$cart_items = $
SESSION["cart_item"];

foreach ($cart_items as $cart_item) {
echo $cart_item["id"] . $cart_item["product_name"];
}
?>
I have tried several variations of the foreach loop like the one above and I mostly get the error message: Notice: Array to string conversion. When I use:
var_dump($cart_items);

I get the following output:

array(1) { ["cart_item"]=> array(2) { ["id"]=> array(2) { [0]=> string(1) "2" [1]=> string(1) "3" } ["product_name"]=> array(2) { [0]=> string(19) "Adult Female Bike" [1]=> string(18) "Kids Unisex Bike" } } }

    The solution can't include nested foreach loops because I will be adding 3 more inner arrays to the multidimensional array and when I do this with nested foreach loops, I need 6 of them.

      I for one cannot really suggest an answer without better understanding the actual requirement (and perhaps the expected array structure itself). If the items of interest are always at the same level of the array, maybe you just need an if condition or two to see if the desired indexes are present, otherwise going on to the next element. At the other extreme would be creating some sort of recursive function that walks deeper into the array structure when needed. Or...?

        I retract my original question because I don't need to make my multidimensional-array any larger after all. Please ignore my post.

          Write a Reply...