我试图在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
)
)
)
当我在图像上运行foreach循环时,每个$variant
的结果循环不是所需的结果
尝试访问$image->file_path
无效。
我不是一个真正的PHP专家,所以对我在这里所做的事情有点不满。救命!
答案 0 :(得分:1)
试试这个
$image[0]->file_path