Un usuario de Styde me preguntaba en estos días cuál era la diferencia entre no usar return en una función, colocar sólo return; o return null;. Así que en esta lección vamos a ver la sentencia return en diferentes casos de uso y cuándo nos es útil cada uno.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Como vimos en el video, estos 3 casos de uso son completamente equivalentes:

function noReturn() {
    //...
    //...
}

function returnEmpty() {
    //...
    return;
}

function returnNull() { 
    //...
    return null;
}

var_dump(noReturn(), returnEmpty(), returnNull());

Por otro lado, en un método de una clase, podemos retornar el valor de una propiedad:

class ReturnProperty
{
    protected $property = 'value';

    public function getProperty()
    {
        return $this->property;
    }
}

Típicamente a este método lo llamamos «getter».

Aprende más sobre getters, setters y encapsulamiento en nuestro Curso de programación orientada a objetos con PHP.

Por otro lado, algunas veces necesitamos realizar ciertas operaciones (matemáticas, concatenación, etc.) y guardamos el resultado en una variable temporal que finalmente retornamos de esta forma:

function returnNames($users)
{
    $names = '';

    foreach ($users as $user) {
        $names .= $user->name.", ";
    }

    return substr($names, 0, -2);
}

Aquí debajo podrás ver un ejemplo de uso de esta función:

class User {
    public $name;

    public function __construct($name)
    {
        $this->name = $name;
    }
}


echo returnNames([
    new User('Duilio'),
    new User('Ramon'),
    new User('Juan'),
]);

Como nota final, fíjate que también puedes detener el flujo de ejecución de un archivo utilizando la sentencia return.

Si te gustó esta lección, recuerda que puedes aprender mucho más con el curso de programación orientada a objetos con PHP y por supuesto ayudarme a mantener este proyecto que fue creado para ti y toda la comunidad de desarrollo en español.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.