この状況に遭遇しました。おそらくコードの論理エラーです。
これは私のコードです
foreach ($options as $option) {
if (($option['max_value'] > 0) && $total_value <= $option['max_value']) {
$selected_options[] = $option['option_id'];
continue;
}
if (($option['min_value'] > 0) && $total_value >= $option['min_value']) {
$selected_options[] = $option['option_id'];
}
}
これはうまくいきます。しかし、私が置き換えた場合(これは私が以前に行ったことなので、論理エラーです)
if(($option['min_value'] > 0 ) ..... ) with
if(!empty($option['min_value']) .... ) same for checking max_value.
しかし、問題はmin_valueをチェックしている間だけです
0.0000 を空にしないように扱っているため、期待される出力が得られません。誰かが私に何が悪いのか説明してもらえますか??
$options の値はデータベースから取得されています。2 つの行があります
最小値 = 0.0000 最大値 = 20.0000
最小値 = 21.0000 最大値 = 0.0000
ありがとう!!
皆さん、ありがとうございました!!その教訓を学びました!!!