Функция print в выписке всегда возвращает true - PullRequest
0 голосов
/ 02 мая 2018

У меня есть вопрос, который действительно смущает меня. Если я напишу функцию print в утверждении, всегда верну true. Например:

if (print('x') === 'y')
        echo 'true';

Теперь я знаю, что это не так, и мне не следует это писать, но я видел этот вопрос на другом форуме.

Я проверил это и прочитал, что print всегда возвращает 1, что означает, что это фактически 1 === 'y', и все же это не должно отражать истину.

Есть идеи, почему это правда?

1 Ответ

0 голосов
/ 02 мая 2018

Запишите print() в (), чтобы сначала выполнялась функция печати, а затем выполнялось условие

<?php

if ((print('x')) === 'y')
        echo 'true';

https://3v4l.org/JtMFU

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...