Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при запуске программы?
<?php
declare(strict_types=1);
function half(float $x): float
{
return $x / 2;
}
echo half(5), ' ', half('5'), "\n";2.5, затем TypeError на '5'
- Ждать, что
'5'пройдёт, раз в строке число: приstrict_typesстрока не приводится никогда, поэтомуhalf('5')бросаетTypeError. - Ждать, что
half(5)упадёт, раз5— этоint: единственная поблажка строгого режима —intвfloat, и5приходит как5.0.
- Какой файл решает, будет ли вызов проверен строго: файл вызова или файл функции?
- Почему
declare(strict_types=1)должна стоять первой инструкцией файла?