Php string cast vs strval function which should I use?

Solution:

They are generally interchangeable because PHP uses automatic type conversion and a variable’s type is determined by the context in which the variable is used.

Some differences are that strval($var) will return the string value of $var while (string)$var is explicitly converting the “type” of $var during evaluation.

Also, from the manual for strval():

$var may be any scalar type or an object that implements the __toString method. You cannot use strval() on arrays or on objects that do not implement the __toString method.

As mentioned by @Lars (string) is generally faster.