Логический запрос URL [дубликат]

Функция сравнения просто моделирует оператор «меньше». Посмотрите, как работает оператор < для таких примитивных типов, как int:

int a = 1, b = 2;     a < b == true      a is less than b
int a = 2, b = 1;     a < b == false     a is not less than b, because a is greater than b
int a = 1, b = 1;     a < b == false     a is not less than b, because a equals b

Возврат true означает, что вы хотите a упорядочиваться до b. Поэтому верните false, если это не так, потому что вы хотите, чтобы b заказывалось до a, или потому, что их порядок не имеет значения.

Если вы вернете true, когда аргументы равны, то вы говорите, что хотите a прийти перед b, и вы хотите b прийти перед a, что является противоречием.

7
задан Sam Creamer 5 June 2014 в 15:58
поделиться

2 ответа

Если вы хотите избежать оператора if:

filter_var('true', FILTER_VALIDATE_BOOLEAN);  
//bool(true)

filter_var('false', FILTER_VALIDATE_BOOLEAN); 
//bool(false)
10
ответ дан AbraCadaver 27 August 2018 в 04:13
поделиться

Он будет передан как строка. Хотя вы можете преобразовать его с помощью bool cast, рекомендуется не делать этого в некоторых случаях.

Вам было бы лучше делать, если myVar == «True»

Будьте осторожны :

>>> bool("foo")
True
>>> bool("")
False

Пустые строки оцениваются как False, но все остальное оценивает значение True. Поэтому это не должно использоваться для каких-либо анализов.

2
ответ дан Kyle 27 August 2018 в 04:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: