需要帮助在foreach循环中创建多维数组

时间:2014-04-30 11:40:45

标签: php multidimensional-array foreach

我试图在foreach循环中创建一个多维数组,而不是按照我的想法输出它。

代码:

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;

数组的输出如下所示:

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. 当我在图像上运行foreach循环时,每个$variant的结果循环不是所需的结果

  2. 尝试访问$image->file_path无效。

  3. 我不是一个真正的PHP专家,所以对我在这里所做的事情有点不满。救命!

1 个答案:

答案 0 :(得分:1)

试试这个

$image[0]->file_path