Declaraciones de tipo de devolución en PHP 7
PHP 7 ha añadido soporte para las declaraciones de tipo de devolución. Esto es, podemos establecer que tipo de dato devolverá una función.
Están disponibles los mismos tipos para las declaraciones de tipo de devolución que para las declaraciones de tipo de argumento:
Ejemplos de declaración de tipo de devolución
Ejemplo de una función que retorna un string
Nos sirve para forzar que la función retorne un valor string.
function retornaCadena($valor1, $valor2, $valor3):string{ return $valor1+$valor2+$valor3; } $res = retornaCadena(2, '3', 1.2); var_dump($res); // string(3) "6.2"
Ejemplo de una función que retorna un número entero
Nos sirve para forzar que la función retorne un valor integer.
function retornaCadena($valor1, $valor2, $valor3):int{ return $valor1+$valor2+$valor3; } $res = retornaCadena(2, '3', 1.2); var_dump($res); // int(6)
Ejemplo de una función que retorna un decimal
Nos sirve para forzar que la función retorne un valor float.
function retornaCadena($valor1, $valor2, $valor3):float{ return $valor1+$valor2+$valor3; } $res = retornaCadena(2, '3', 1.2); var_dump($res); // float(6.2)
Ejemplos sin utilizar la declaración de tipo de devolución
Alternativa para versiones anteriores de PHP
Si la versión de PH con la que trabajamos es menor a la 7, podremos forzar el tipo de dato que queremos devolver de la siguiente forma:
function retornaCadena($valor1, $valor2, $valor3){ $res = $valor1+$valor2+$valor3; settype($res, 'int'); return $res; } $res = retornaCadena(2, '3', 1.2); var_dump($res); //int(6)
En el ejemplo anterior, utilizamos la función settype para establecer el tipo de dato que queremos retornar.