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;
}
¿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!
![Stress](http://static.forosdelweb.com/fdwtheme/images/smilies/stress.png)