我无法确定如何根据产品的价值显示图像($ idd):
foreach ($response['products'] as $product)
{
if($filter != "all" && $bb[$product['product-id']['value']] && $bb[$product['product-id']['value']][0] != $filter) continue;
$r = array(); $idd = 0; $ca = 0;
foreach($product as $key=>$value)
{
if($key == "product-id")
{
$idd = (int)$value['value'];
$r[0] = $idd?"<input type='radio' name='product_id' value='" . $idd . "'/>":"0 ";
//price//
$r[4] = $bb[$idd]?$bb[$idd][3]:"ID";
//info//
$r[5] = "<a href='checker/info.php?id=" .$idd. "'; rel=\"shadowbox;width=400;height=200\" class=\"option\"'><img src=\"http://www.flipconnect.co.uk/images/more-info.gif\" style=\"border:none; padding-top:24px;\" alt=\"more information about this pack\" /></a>";
//buy
$r[6] = "<a href='checker/next.php?id=" . $idd . "&postcode=".$postcode."&speed=".$phone."'><img src=\"http://www.flipconnect.co.uk/images/buy-now.gif\" style=\"border:none\" alt=\"buy this package\" /></a>";
}
我认为它应采取以下形式:
$r[0] = if ($idd == 1021) echo "IMAGE URL": echo "";
但是不起作用,顺便说一下所有$ idd都存储在一个加载了其他信息的数组中。
答案 0 :(得分:1)
我的问题不是很清楚,但你的这行代码
`$r[0] = if ($idd == 1021) echo "IMAGE URL": echo "";`
可以改写为
echo $r[0] = ($idd == 1021) ? "IMAGE URL" : "";
试试吧。
修改强>
关于Bifter的评论 “这项工作,如果$ idd值不同,将如何适应显示不同的图像。即 - $ idd == 1021 - 图像1显示$ idd == 1022 - 图像2显示$ idd == 1023 - 图像3显示“
如果您的数据数组类似于..
$arr = array('1021' => 'img 1', '1022' => 'Img 2')
然后你可以尝试这样的事情
echo $r[0] = array_key_exists($idd, $data) ? $data[$id] : "";
假设您正在循环ID值($ id)。