我需要循环遍历一个数组,该数组可以有一个或多个值(在本例中有些属性)。我的问题是,只有在找到多个值时,它才会输出某些内容。如果数组中只有一个值,则根本不输出任何值。
我也想输出唯一的价值找到,或更多,如果有更多。我试着插入中断,但是它只会在找到的第一个值停止,停止寻找其他值.我怎么才能解决这个问题?
<?php
foreach ($_product->getAttributeText('attribute') as $attribute):
echo $attribute.' ';
endforeach ;
?>发布于 2014-03-11 09:07:57
很可能发生的事情就是@anurupr在评论中提到的。你的警告被压制了吗?
尝试以下几点:
<?php
$mAttributeText = $_product->getAttributeText('attribute');
if (is_array($mAttributeText)) {
foreach ($mAttributeText as $sAttribute) {
echo $sAttribute . ' ';
}
} else {
echo $mAttributeText;
}发布于 2014-03-11 09:06:56
如果只找到一个属性,则getAttributeText方法可能不会返回数组(只有一个元素的数组上的foreach应该工作)
此外,这将不会回答您的问题,但也许可以帮助您:您看函数implode吗?
echo implode(" ", $_product->getAttributeText('attribute'));发布于 2014-03-11 09:12:14
https://stackoverflow.com/questions/22320689
复制相似问题