Skip to content
Advertisement

PHP foreach in a deeper array

How to foreach through a deeper array in PHP? I want to approach ‘price’ and list all prices below each other.

$addons = get_product_addons($product->get_id());

When I VAR_DUMP the $addons var, it outputs the below.

array(1) {
  [0]=>
  array(7) {
    ["name"]=>
    string(8) "Afmeting"
    ["description"]=>
    string(0) ""
    ["type"]=>
    string(6) "select"
    ["position"]=>
    int(0)
    ["options"]=>
    array(10) {
      [0]=>
      array(5) {
        ["label"]=>
        string(8) "70 x 200"
        ["price"]=>
        string(0) "70.00"
        ["min"]=>
        string(0)""
...

So I want to output this result:

70.00

60.00

Etcetera.. *All prices

Advertisement

Answer

I guess that piece of code is what you are looking for:

foreach($addons as $addon)
{
   echo $addon["options"]["price"].PHP_EOL;
}

You do not need to use foreach to access nested elements of array. Just use it’s key. PHP_EOL is a constant containing newline for your OS. For web application use special formatting suitable for your page (<br> e.g.)

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement