Я столкнулся с этой ситуацией, возможно, логической ошибкой в коде.! Empty() result true для значения 0.0000
Это мой код
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 быть не пустым поэтому я не получают ожидаемый результат. Может кто-нибудь, пожалуйста, объясните мне, что случилось?
$ опции значения, поступающие из базы данных, у меня есть 2 строки
min_value = 0,0000 max_value = 20,0000
min_value = 21,0000 max_value = 0.0000
Спасибо !!
Спасибо всем! Его урок узнал !!!
Что такое 'echo gettype ($ option ['min_value']);' print? 'double' или' string'? – VolkerK
О! Он говорит, что String !! Почему это?? Поле моей базы данных DECIMAL (15, 4). – Razor
Зависит от API, используемого для передачи данных из базы данных и в нее. – VolkerK