Строка в PHP, которая не имеет смысла

Я экспериментировал со слабой / динамической типизацией свойств PHP при подготовке к тесту и был полностью сбит с толку выводом этой конкатенации строк. Может кто-нибудь объяснить, как это вообще возможно?

<?php echo  1 . "/n" . '1' + 1 ?><br />

выход:

2

1 ответ

Решение

Анализ:

echo  1 . "/n" . '1' + 1;

эквивалентно

//joined first 3 items as string
echo "1/n1"+1;

эквивалентно

//php faces '+' operator, it parses '1/n1' as number
//it stops parsing at '/n' because a number doesn't
//contain this character
echo "1"+1;

эквивалентно

echo 1+1;
Другие вопросы по тегам