Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
<?php
var_dump(1 == '1');
var_dump(1 === '1');
var_dump(0 == 'a');
var_dump('1' == '01');bool(true) bool(false) bool(false) bool(true)
- Ждать, что
0 == 'a'истинно, как в PHP 7: с PHP 8 число, которое сравнивают с нечисловой строкой, превращается в строку, а'0'не равна'a'. - Считать
'1' == '01'ложным, раз строки разные: при==две числовые строки сравниваются как числа, а как текст их сравнивает только===.
- Что напечатает
var_dump('abc' == 0)в PHP 7 и в PHP 8? - Почему
'1e3' == '1000'истинно?