На Главную

Booleans в PHP

December 6th, 2007 by Yuriy Drozdov

Интересно, почему почти всегда думаешь, что -1 в PHP - это FALSE, хотя на самом деле -1 - это TRUE, как и любое не равное нулю число?

Как думаете?

Автор: Yuriy Drozdov

Похожие статьи:

  • Нет похожих статей

RSS комментариев | Trackback URI

18 Комментариев

Comment by vladm Subscribed to comments via email
2007-12-06 15:08:22

никогда об этом не задумывался, для меня всегда что не ноль и не пусто было TRUE…

Comment by y.drozdov Subscribed to comments via email
2007-12-06 15:14:03

А меня иногда клинет на этот -1. Даже не пойму из-за чего это.

Comment by Ira Sribna Subscribed to comments via email
2007-12-06 16:09:06

У меня тоже “-1″ почему-то с FALSE ассоциируется

Comment by vladm Subscribed to comments via email
2007-12-06 16:11:21

Ну это не удивительно! :) Двое людей, живущих вместе, начинают думать и воспринимать все одинаково!

(Вложеность комментариев заканчивается на этом уровне)
Comment by Ira Sribna Subscribed to comments via email
2007-12-06 16:48:33

из личного опыта знаешь? ;)

 
Comment by vladm Subscribed to comments via email
2007-12-06 17:03:16

А то! :)

 
 
 
 
 
Comment by Витя Subscribed to comments via email
2007-12-06 15:52:14

Из-за блоговских +1, -1 и т.д. Если +1 это ‘согласен’, то -1 - несогласен или FALSE.

Comment by y.drozdov Subscribed to comments via email
2007-12-06 15:58:09

:) тоже вариант

 
 
Comment by Kallisto Subscribed to comments via email
2007-12-06 16:10:32

0 - False.
все остальное - true

Comment by y.drozdov Subscribed to comments via email
2007-12-06 16:20:51

Не :)

- число с плавающей точкой 0.0 (ноль)
- пустая строка и строка “0″
- пустой массив
- объект без атрибутов (только в PHP 4)
- специальный тип NULL

Это все тоже FALSE.

 
 
Comment by Владимир Subscribed to comments via email
2007-12-06 16:28:08

Наверное, потому что “-1″ число отрицательное и ассоциируется с отрицанием.
В любом случае, если есть возможность, лучше писать явно TRUE или FALSE. И не заморачиваться с приведением типов.

Comment by Ira Sribna Subscribed to comments via email
2007-12-06 16:54:56

Я согласна что лучше явно указывать TRUE или FALSE, т.к. иногда голова так забита, что можно случайно “протупить”

 
 
Comment by Nikita Subscribed to comments via email
2007-12-06 23:38:32

Иногда случается что прописывать true или false не удаётся. Где-то я этот -1 видел, не в Access случайно?

 
Comment by dkrnl Subscribed to comments via email
2007-12-08 12:28:54

-1 == true
так не только в php - практически везде - js/python/perl/c…

 
Comment by jeka911 Subscribed to comments via email
2007-12-11 02:53:39

Я когда быстро и для себя пишу, то: $v = 0;, а когда стараюсь или знаю, что кто-то код увидет, то $v = false;

О минусадин никогда не задумывался, хотя где-то он false’ом все же был. Никита, в VBA -1 - это true, если не гоню. Хотя для -1 == false, язык не должен быть компилируемым, может в каком-нибуть бэйсике…

 
Comment by Nikita Subscribed to comments via email
2007-12-11 09:01:50

В JavaScript метод indexOf(), который возвращает позицию первого символа подстроки в строке, возвращает -1 если подстрока не найдена.

Comment by y.drozdov Subscribed to comments via email
2007-12-11 17:30:36

тут понятно зачем это сделано, ведь 0 - это первая позиция

 
 
Comment by taldy Subscribed to comments via email
2007-12-25 16:33:15

-1 это не FALSE, это “default or old value”, как “x” в правах *nix.

 

Извините, комментарии закрыты.