@ak_wi

Нестрогое сравнение: что не является bool, но при сравнении со строкой дает true?

$x - ?
var_dump(!is_bool($x) && $x == '1' && $x == '3' && $x == '5'); // bool(true)
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
¯\_(ツ)_/¯

$x = new class {
    private $index = 0;
    private $nums = ['1', '3', '5'];

    function __toString()
    {
        return $this->nums[$this->index++];
    }
};

var_dump(!is_bool($x) && $x == '1' && $x == '3' && $x == '5');


Result:
bool(true)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы