powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Почему выполняется условие
12 сообщений из 12, страница 1 из 1
[PHP] Почему выполняется условие
    #38815499
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простое условие, но не могу понять почему оно выполняется, когда не должно этого делать.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
//это размерный ряд?
function validsizes($min, $max) {
    //numeric
    $a = intval($min);
    $b = intval($max);
    if (($a == $min) && ($b == $max)) return ($min < $max); //условие которое не должно выполняться, когда $min, $max не цифры
 ...
}

validsizes('XL', '6XL');
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815504
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valerii_me,

А интересно,как ты представляешь себе перевод "XL" в целое зачение?
Тут глянь для начала http://php.net/manual/ru/function.intval.php
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815514
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster, в том и смысл что если это не число то не выполнять правую часть сравнения

т.е. не выполнятся следующее условие
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function validsizes($min, $max) {
$a = intval($min); //$a = 0
$b = intval($max); //$b = 6
if (($a == $min) && ($b == $max)) //<---- условие которое не должно выполняться, когда $min, $max не цифры
/*
if (0 == 'XL') && (6 == '6XL')) //<---- условие которое не должно выполняться, А ОНО ВЫПОЛНЯЕТСЯ!
*/
 ...
}

validsizes('XL', '6XL');
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815523
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может это БАГ?
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815525
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
if (($a === $min) && ($b === $max))
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815526
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
var_dump(6 == '6XL')
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815530
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow,

Еще is_numeric() есть для проверки... intvar() может разные магические 0/1 возвращать в зависимости от сочетания звезд на небе.
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815531
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://ru2.php.net/manual/ru/language.operators.comparison.php string, resource или number string, resource или number Строки и ресурсы переводятся в числа , обычная математика
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815534
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle, Строки и ресурсы переводятся в числа, обычная математика
ЭВРИКА!!!
Спасибо, теперь понял. Кстати http://www.sql.ru/forum/1126817/virusnyy-iframe-v-php - и снова полностью с вами согласен!
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815535
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал как предложил ScareCrow. Спасибо. Закрыто.
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815538
Yaroslav22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что вы хотите в конечном результате получить? Потому как если функция ничего не возвращает, то это как бы тоже false (null) если результат работы функции чему либо присваивать.
Так же как и если return ($min < $max) в случае не соответствия условия вернет false.

Пока не совсем понятно: а правда ли функция не так работает как ожидалось.
...
Рейтинг: 0 / 0
[PHP] Почему выполняется условие
    #38815542
Valerii_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yaroslav22, это проблемная часть кода, дальше сравнения функции validsizes() с различным набором данных
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Почему выполняется условие
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]