Почему это ложное значение преобразуется в пустую строку вместо 0?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему это ложное значение преобразуется в пустую строку вместо 0?

Сообщение Anonymous »

После запроса к базе данных, запрошенного через POST, я отправляю ответ в кодировке JSON обратно вызывающему абоненту (браузеру или приложению).
php:

Код: Выделить всё

$result = Database::query($str_query);

$emailAvailable = $result->num_rows < 1;
echo("200 OK\r\n" . '{"available": "' . $emailAvailable . '", "query": "' . $str_query . '", "count": "' . $result->num_rows . '"}');
отображаемая строка:

Код: Выделить всё

200 OK
{"available": "", "query": "SELECT * FROM tblusers WHERE email='test@test.com'", "count": "1"}
Я ожидал получить в ответ «0» для значения «доступно» вместо «»:

Код: Выделить всё

200 OK
{"available": "0", ...
Как видите, запрос вернул количество строк, равное 1.
Поэтому я ожидал, что $emailAvailable будет содержать логическое значение false ().
Мне удалось это исправить, явно задав значение «1» или «0», заменив

Код: Выделить всё

. $emailAvailable .
с:

Код: Выделить всё

. ($emailAvailable ? "1" : "0") .
Но мне бы хотелось понять, зачем это нужно.
Хотел бы

Код: Выделить всё

. boolval($emailAvailable) .
было ли альтернативное «исправление»? (хотя мне все равно хотелось бы знать почему)

Подробнее здесь: https://stackoverflow.com/questions/548 ... stead-of-0
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»