Anuncios

Bienvenidos sean a este post, hoy veremos una funcion para los array.

Anuncios

Esta funcion nos permite ejecutar una funcion de callback en cada elemento de un array pero a su vez se aplica recursivamente en arrays internos, primero veamos su sintaxis:

array_walk_recursive(array, funcion[, valor])
Anuncios

El primer dato que pasaremos es el array a trabajar, el siguiente argumento es la funcion de callback que usaremos en cada elemento y por ultimo de manera opcional podemos pasar un valor adicional, para entender el concepto veamos un ejemplo y para ello debemos crear un archivo con el nombre de array.php y le agregaremos el siguiente codigo:

array.php

<?php

function mostrar($elemento, $clave)
{
        echo "$clave contiene $elemento\n";
}

$arr_1 = array('r'=>'rojo', 'v'=>'verde');
$arr_2 = array('arr_1'=>$arr_1,'a'=>'azul');

array_walk_recursive($arr_2,'mostrar');

?>
Anuncios
Anuncios

Primero definiremos la funcion que usaremos de callback, esta recibira dos argumentos, el primero sera para el valor del elemento y el segundo sera para la clave, observen que en el bloque mostraremos la clave y el valor que contiene, lo siguiente sera definir dos array donde el primero sera con dos valores y el siguiente sera conteniendo una referencia del primero y un valor mas, despues de esto usaremos la funcion para aplicar la funcion anterior al segundo array, y este se encargara de mostrar la salida de esta, veamos como es la salida:

$ php array.php
r contiene rojo
v contiene verde
a contiene azul
$
Anuncios

Este proceso el array que le pasamos como referencia y luego el valor que agregamos, esta es la diferencia con respecto a array_walk porque al ser recursivo nos permite procesar a los arrays antes.

Anuncios

En resumen, hoy hemos visto array_walk_recursive, que es, para que sirve, como se utiliza, y un ejemplo practico para ver como trabaja, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50