Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Función con parámetros en forma $x = false?

Estas en el tema de ¿Función con parámetros en forma $x = false? en el foro de PHP en Foros del Web. Hola a todos! En esta página encontré el modo de hacer un in_array() recursivo. Como ven, la función custom tiene 3 parámetros, los 2 primeros ...
  #1 (permalink)  
Antiguo 05/09/2016, 17:41
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Pregunta ¿Función con parámetros en forma $x = false?

Hola a todos!

En esta página encontré el modo de hacer un in_array() recursivo.
Como ven, la función custom tiene 3 parámetros, los 2 primeros son claros: la aguja y el pajar. Pero no logro entender por qué el 3er parámetro se declara como tal, como parámetro cuando bien puede ir como variable dentro de la función. Esta es la función:
Código PHP:
function in_array_r($needle$haystack$strict false) {
    foreach (
$haystack as $item) {
        if ((
$strict $item === $needle $item == $needle) || (is_array($item) && in_array_r($needle$item$strict))) {
            return 
true;
        }
    }
    return 
false;

no alcanzo a divisar el sentido.

¿Para qué poner el 3er parámetro como parámetro de la función, si bien tal variable puede ir declarada dentro de la función?
¿Para qué poner el 3er parámetro como parámetro, si aunque yo le ponga el valor true al emplear la función, dicho valor será sobreescrito por false?

Ojalá puedan ayudarme a entender la lógica detrás de ese 3er parámetro.

Saludos!
  #2 (permalink)  
Antiguo 05/09/2016, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Función con parámetros en forma $x = false?

El tercer argumento es opcional, en caso de omitirse siempre tomará false, pero en caso de especificarse se pasa tal cual.

Recuerda que los valores por defecto sólo aplican si el argumento no está declarado.

La idea de de una función recursiva es que se mantenga su configuración cuan se llama así misma, de otra forma el argumento es inútil.

Simple: si no te sirve no lo uses.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/09/2016, 12:41
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: ¿Función con parámetros en forma $x = false?

Cita:
Iniciado por pateketrueke Ver Mensaje
El tercer argumento es opcional, en caso de omitirse siempre tomará false, pero en caso de especificarse se pasa tal cual... si no te sirve no lo uses.
Ah! Excelente maestro! Es opcional, y si no lo usamos, se emplea el valor por defecto. Nada más que decir.

Nuevamente, gracias y hasta pronto!


Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:17.