根据变量的值显示图像

时间:2009-06-30 11:06:26

标签: php

我无法确定如何根据产品的价值显示图像($ 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&nbsp;"; 
   //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 . "&amp;postcode=".$postcode."&amp;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都存储在一个加载了其他信息的数组中。

1 个答案:

答案 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)。