Booleans в PHP
December 6th, 2007 by Yuriy DrozdovИнтересно, почему почти всегда думаешь, что -1 в PHP - это FALSE, хотя на самом деле -1 - это TRUE, как и любое не равное нулю число?
Как думаете?
Похожие статьи:
- Нет похожих статей
Интересно, почему почти всегда думаешь, что -1 в PHP - это FALSE, хотя на самом деле -1 - это TRUE, как и любое не равное нулю число?
Как думаете?
RSS комментариев | Trackback URI
Извините, комментарии закрыты.
никогда об этом не задумывался, для меня всегда что не ноль и не пусто было TRUE…
А меня иногда клинет на этот -1. Даже не пойму из-за чего это.
У меня тоже “-1″ почему-то с FALSE ассоциируется
Ну это не удивительно! Двое людей, живущих вместе, начинают думать и воспринимать все одинаково!
из личного опыта знаешь?
А то!
Из-за блоговских +1, -1 и т.д. Если +1 это ‘согласен’, то -1 - несогласен или FALSE.
:) тоже вариант
0 - False.
все остальное - true
Не
- число с плавающей точкой 0.0 (ноль)
- пустая строка и строка “0″
- пустой массив
- объект без атрибутов (только в PHP 4)
- специальный тип NULL
Это все тоже FALSE.
Наверное, потому что “-1″ число отрицательное и ассоциируется с отрицанием.
В любом случае, если есть возможность, лучше писать явно TRUE или FALSE. И не заморачиваться с приведением типов.
Я согласна что лучше явно указывать TRUE или FALSE, т.к. иногда голова так забита, что можно случайно “протупить”
Иногда случается что прописывать true или false не удаётся. Где-то я этот -1 видел, не в Access случайно?
-1 == true
так не только в php - практически везде - js/python/perl/c…
Я когда быстро и для себя пишу, то: $v = 0;, а когда стараюсь или знаю, что кто-то код увидет, то $v = false;
О минусадин никогда не задумывался, хотя где-то он false’ом все же был. Никита, в VBA -1 - это true, если не гоню. Хотя для -1 == false, язык не должен быть компилируемым, может в каком-нибуть бэйсике…
В JavaScript метод indexOf(), который возвращает позицию первого символа подстроки в строке, возвращает -1 если подстрока не найдена.
тут понятно зачем это сделано, ведь 0 - это первая позиция
-1 это не FALSE, это “default or old value”, как “x” в правах *nix.