PHP strict_types По умолчанию PHP пытается приводить значения несоответствующих скалярных типов(int, float, bool, string), если это возможно. Например если функция ожидает строку, а ей передается число - php приведет число к строке. Для отдельных файлов можно включить режим строгой типизации (директивой declare(