我尝试将7个价格值插入表格并为最低价格着色。我不知道在哪里放置$lowestprice
。我知道它的代码很差,但在我尝试添加颜色之前一直有效。
for ($i = 1; $i <= 7; $i++){
${"price".$i} = preg_replace($regexp, $match, ${"rawprice".$i});
if (preg_match('/'.$article.'/i', ${"stock".$i}))
{
$list[$i] = ${"price".$i};
$lowestprice = min($list);
if (preg_match('/^'.$lowestprice.'/i', ${"price".$i}))
{
echo ${"url".$i}." class=\"lowestprice\">".${"price".$i}." €</a></td>"; // lowest price in color with css
}
else
{
echo ${"url".$i}." class=\"price\">".${"price".$i}." €</a></td>";
}
}
else
{
echo "<td>Out of stock</td>";
}
}
答案 0 :(得分:0)
首先,不要使用${"string".$i}
类型变量。它确实很有用,但是如果你正在处理似乎遵循数组结构的数据,那么只需使用一个数组。减少杂乱,减少戏剧性,让每个人都开心。
$ rawprice应该是一个包含7个整数的数组,其中7个价格为美分。然后你会做这样的事情:
$lowestPrice = min( $rawPrice );
for( $i = 0; $i <= 6; $i++ ) {
if( inStock( $article[$i] ) ) {
$price = str_replace( ".", ",", (string) ($rawPrice[$i] / 100 ) );
if( $rawPrice[$i] == $lowestPrice ) {
$class = "lowestprice";
} else {
$class = "price";
}
echo "<td><a href=\"{$url[$i]}\" class=\"{$class}\">{$price} €</a></td>";
} else {
echo "<td>Out of stock</td>";
}
}