Значение может быть преобразовано в строку с использованием (string) cast или функции strval().
Похоже на меня.
Ответ 2
Один вызов функции, другой - внутренний тип. Не проверив, я бы предположил, что последнее быстрее на несколько циклов, но не должно меняться.
Ответ 3
Они, как правило, взаимозаменяемы, поскольку PHP использует автоматическое преобразование типов, а тип переменной определяется контекстом, в котором используется переменная.
Некоторые различия заключаются в том, что strval ($ var) вернет строковое значение $var while (string) $var явно преобразует "тип" в $var во время оценки.
Кроме того, из руководства для strval() $var "может быть любой скалярный тип или объект, который реализует метод __toString. Вы не можете использовать strval() для массивов или объектов, которые не реализуют метод __toString."
Как упоминалось в @Lars (string), как правило, быстрее.