|
null и 0 значения PHP
|
|||
---|---|---|---|
#18+
Из таблицы, поле тип bit, делаю выборку (СУБД SyBase ASA 8.0.1), под ms Windows значения поля null и 0, оператор if определяет как false, а в Linux то же самый код, оператор if значение 0 определяет как true... Подскажите пожалуста, по чему PHP в оператере if значение 0 определяет как true? Может PHP по разному настроен? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2004, 11:29 |
|
null и 0 значения PHP
|
|||
---|---|---|---|
#18+
c SyBase не работал, могу лишь посоветовать посмотри phpinfo() , раздел sybase - сравни настройки под разными машинами (sybase.compatability_mode одинаковое значение ?) Напиши под Линухом: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2004, 12:53 |
|
null и 0 значения PHP
|
|||
---|---|---|---|
#18+
Этот скрипт работает корректно ... но когда вместо $a подставляю значение из поля ... $row=sybase_fetch_object($query); if($row->field_name) .... если $row->field_name==0, то обрабатывается так как $row->field_name==1 что это? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2004, 14:07 |
|
null и 0 значения PHP
|
|||
---|---|---|---|
#18+
настройки проверял ? что пишет: echo gettype($row->field_name); попробуй if ($row->field_name === 0) { .... } ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2004, 14:40 |
|
null и 0 значения PHP
|
|||
---|---|---|---|
#18+
имхо, null и 0 - это совершенно разные значения... Null - это не false, не true и не 0... Может быть просто переписать SQL запрос - добавить в него функцию coalesce() (заменяющую NULL значения чем-нибудь более наглядным, например нулем) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2004, 16:13 |
|
|
start [/forum/topic.php?fid=23&fpage=514&tid=1479888]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 138ms |
0 / 0 |