Diferencia entre usar return y echo en una función php

Una función siempre acaba con un return y lo que hace es mostrar lo que se ponga a la derecha del return en pantalla, lo mismo que echo, entonces mi pregunta es por que siempre se usa return y cuando usarlo, ya que he visto muchas veces que no hay un retorno, es decir, no aparece al final de la función.
¿Por qué a veces se usa y a veces no?
Y otra pregunta, he visto varias veces return false, sobre todo en javascript. ¿Alguien podría explicarme su uso?

1 respuesta

Respuesta
1

Return no muestra nada por pantalla, lo que hace es _devolver_ ese valor a quién la haya llamado. Por ejemplo:

<?php
function cuadrado($núm)
{
    return $núm * $núm;
}
echo cuadrado(4);   // imprime '16'.
?>

Si en el ejemplo anterior no pones el echo, no se escribirá nada por pantalla, la función se ejecutará sin mostrar nada.

Ah, y en cuánto a la segunda duda: return false se usaría así:

<?php

function es_mayor_que($valor1, $valor2) {

    if ($valor1 > $valor2) {

        return true;

    } else {

        return false;

    }

}

if (es_mayor_que(5,4) == TRUE) {

Echo "el resultado de la función es cierto"; // se escribirá esto por pantalla porque 5>4

} else {

Echo "el resultado de la función es falso";

}

Perdona la tardanza en responder, el return false en ese ejemplo se ve muy claro, pero yo lo he visto muchas veces así

function validaCampo1(){      //codigo que comprueba si campo  1esta vacio      //codigo que pone el foco sobre el campo 1    //codigo que muestra el mensaje de que el campo esta vacioreturn false}function validaCampo2(){      //codigo que comprueba si campo  2 esta vacio      //codigo que pone el foco sobre el campo 2    //codigo que muestra el mensaje de que el campo esta vacioreturn false}//codigo que muestra que todos los campos son correctos

En este ejemplo,  creo que el return false detiene la ejecucion del codigo ¿Es asi?

Lo he visto muchas veces de este modo pero no se si es correcto o si hace algo.

Si me lo pudieses aclarar te lo agradecería.

Todo depende desde dónde llamas a esa función y qué hagas con el valor que te devuelve. Como eso es javascript, y probablemente llamas a esa función en el momento de enviar el formulario, si devuelves false, javascript no enviará el formulario. Por ejemplo, puedes tener algo así (simplificado):

<form onsubmit="return validaFormulario()">

function validaFormulario() {

correcto = validaCampo1();

return correcto;

}

function validaCampo1() {

if (campo1escorrecto) return true;

else return false;

}

En ese return que hay en el onsubmit estaría la clave aquí: javascript espera que ese código devuelva true y entonces hará el submit, si devuelve false, parará el submit. Si eso no estuviera ahí, ya puedes hacer todos los return false que quieras, que todo seguirá funcionando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas