-2

テーブルに 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}." €&lt;/a></td>"; // lowest price in color with css
            }
            else
            {
                echo ${"url".$i}." class=\"price\">".${"price".$i}." €&lt;/a></td>";
            }                   
        }
        else
        {
            echo "<td>Out of stock</td>";
        }
}
4

1 に答える 1

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} €&lt;/a></td>";
  } else {
    echo "<td>Out of stock</td>";
  }
}
于 2015-11-01T16:55:45.820 に答える