Question

I am trying to create a multidimensional array in a foreach loop and its not outputing the way i thought it would.

code:

if ($this->element->variants):
    $i = 0;
    foreach($this->element->variants as $variant):
        foreach($variant->characteristics as $k => $characteristic):
            $char_id = $characteristic->variant_characteristic_id;
            $cat_id = $k;
            $char_name = $characteristic->characteristic_value;
        endforeach;
        foreach($variant->images as $k => $image):
            $images[$i] = array($k => $image);
            $i++;
        endforeach;
    endforeach;
    if($variant->images):
            foreach($images as $image):
                echo '
                    <div class="product-thmb-group">
                        <img id="hikashop_child_image_'.$char_id.'" class="hikashop_child_image" src="' . $this->image->uploadFolder_url . $image->file_path . '" alt="hikashop_child_image_' . $char_id . '"  />
                        <span class="product-thmb-title">'.$char_name.'</span>
                    </div>';
            endforeach;
        endif;
    $images = array_map("unserialize", array_unique(array_map("serialize", $images)));
    echo '<pre>'.print_r($images).'</pre>';
endif;

the output of the array looks like this:

Array ( [0] => Array ( 
            [0] => stdClass Object ( 
                    [file_id] => 621
                    [file_name] => 
                    [file_description] => 
                    [file_path] => zinkcalls_longsleeve_black.png 
                    [file_type] => product 
                    [file_ref_id] => 493 
                    [file_free_download] => 0 
                    [file_ordering] => 0 
                    [file_limit] => 0 
                    )
            ) 
    )                      
  1. When I run the foreach loop on images, the result loops for each $variant which is not the desired result

  2. trying to access $image->file_path does not work.

I am not really a php expert, so a little llost at what I'm doing here. HELP!

Was it helpful?

Solution

try this

$image[0]->file_path

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top