我有一个名为定制礼品盒的产品,有不同的尺寸,如5,9,12等。
当用户选择礼品盒中的商品并添加到购物车时,我也会使用巧克力的数量来获取这些巧克力名称。
在下面的代码中,我写了如果产品名称包含自定义,然后在for循环中使用session获取相关巧克力。
For循环正常工作,但有时它不会。
如何解决这个问题?
<?php
if(stristr($this->getProductUrl(),"customized")){
?>
<div>
<?php
echo "<br/>";
$itid = $_item->getId();
echo $itid;
$strrep = str_replace(' ','_',$this->htmlEscape($this->getProductName()));
for($k=1;$k<=sizeof($_SESSION[$strrep."item".$itid]);$k++){
if($_SESSION[$strrep."item".$itid][$k]!=""){
echo " <font size='1px'>".$_SESSION[$strrep."qty".$itid][$k]." x ".$_SESSION[$strrep."item".$itid][$k]."</font><br/>";
}
}
?>
</div>
答案 0 :(得分:0)
您的for
循环以1开头,并以sizeof
的元素结束。数组索引在PHP中基于零,因此您应该
for ($k=0;$k<count($_SESSION[$strrep."item".$itid]);$k++){
...
}
代替。我还将sizeof()
替换为count()
,但这是一个偏好的问题......