Вот что говорит w3School о StrPos () функция:
Возвращает позицию первого вхождения строки в другой строке или FALSE, если строка не найдена.
Как определяется функция? Можно ли написать такие функции, которые возвращают значения 2 разных типов данных и на других языках?
Многие динамически типизированные языки позволяют вам возвращать из функции все, что вы хотите. Строго типизированные языки, как правило, этого не делают.
В PHP функция может вернуть что-нибудь он хочет, включая логические, целочисленные, строковые, нулевые, массивы, все виды объектов, все, что вам нужно. То же самое, например, в Javascript и Lua, которые также динамически набираются.
Просто убедитесь, что вы проверили тип возвращаемого значения функции, если это могут быть разные вещи. Особенно с такими вещами, как int (0) и false, которые считаются эквивалентными, если вы используете сравнение ==. Используйте ===, чтобы убедиться, что это правильный тип.
Других языков нет loosely typed variables and function returns
, Возьмите для примера С.
Взято из php.net:
PHP is a dynamic, loosely typed language, that uses copy-on-write and reference counting.