Anuncios

Bienvenidos sean a este post, en el post anterior hablamos sobre arrays pero hoy veremos algunas funciones para poder manipularlas.

Anuncios

array_push

Esta es una funcion que nos permite agregar multiples valores de una vez en un array su sintaxis es muy simple:

array_push(nombreArray, valores);
Anuncios

Donde primero pasaremos el nombre del array seguido de todos los valores que deseemos agregar veamos un ejemplo:

<?php array_push($alumnos, "Juan", "Javier", "Raul", "Carlos"); ?>
Anuncios

Como pueden ver pasamos primero el array creado previamente seguido de todos los valores que deseamos agregar, obviamente esta pensado para los arrays de tipo indice dado que asignara automaticamente una para cada dato, pasemos a la siguiente funcion

Anuncios

unset

Esta funcion nos permite remover un valor segun la posicion informada, veamos su sintaxis:

unset(nombreArray[posicion]);
Anuncios

Como pueden ver es muy simple, pasamos el nombre del array junto a la posicion en el metodo informado, veamos como utilizarlo:

<?php unset($alumnos[3]); ?>
Anuncios

explode

Esta funcion nos permite dividir un texto en varias partes para convertirlo en un array, si debemos hacer una equivalencia a otros lenguajes es a split aunque hasta la version 5.3 se utilizaba a partir de esta version se torno obsoleta y a partir de la version 7.0 se removio completamente y se dejo unicamente a explode, veamos su sintaxis:

variable = explode("divisor", variableDividir);
Anuncios

Como pueden ver crearemos una variable que contendra el resultado de explode, luego tenemos el caracter divisor que sera el caracter que dividira a todos los elementos para crear nuestro array seguido de la variable que procesaremos, para entender este metodo usaremos un ejemplo, para ello crearemos un archivo llamado explode.php y le agregaremos el siguiente codigo:

explode.php

<?php

$texto = "Este es un texto de prueba";
$miArray = explode(" ", $texto);

echo $miArray[0] . "\n";
echo $miArray[1] . "\n";
echo $miArray[2] . "\n";
echo $miArray[3] . "\n";
echo $miArray[4] . "\n";
echo $miArray[5] . "\n";

?>
Anuncios
Anuncios

Este es un ejemplo poco practico pero no quiero «spoilear» un tema que veremos un poco mas adelante, volviendo al codigo tenemos una variable llamada texto la cual posee un mensaje, el siguiente paso es una variable llamada miArray la cual se convertira en un array, vean como usamos a explode donde el divisor sera el espacio en blanco y luego pasamos la variable anterior, con esto generamos cada uno de los campos del array y a medida que lo separa se van asignando una posicion automaticamente, el siguiente bloque lo usaremos para mostrar cada una de las posiciones en miArray, ejecutemos el archivo para ver su salida:

tinchicus@dbn001vrt:~/lenguajes/PHP$ php explode.php 
Este
es
un
texto
de
prueba
tinchicus@dbn001vrt:~/lenguajes/PHP$
Anuncios

Como pueden ver tomo el texto y genero cada una de las posiciones a medida que fue trabajando, tan simple como esto, en caso de necesitar dividirlo por otro caracter solamente deben informarlo en el explode, pueden usar \.-,*,., etc, con esto completamos la funcion que se encarga de dividir o tambien considerada generadora de arrays, pasemos a la siguiente.

Anuncios

implode

Esta funcion hace exactamente lo opuesto, es decir nos convierte un array en una cadena o unir todas las posiciones de un array en solo texto, su sintaxis es muy similar a la funcion anterior:

variable = implode("unidor", variableUnir);
Anuncios

Como pueden ver es exactamente lo mismo a la anterior salvo que usamos a implode en lugar de explode, tenemos un caracter informativo que en lugar de tomarlo para dividir entre elementos lo usaremos para unir los distintos elementos y la variable a procesar, como decimos siempre vamos a hacer un ejemplo para entender mejor el concepto, para ello tomaremos el codigo anterior y lo modificaremos de la siguiente manera:

explode.php

<?php

$texto = "Este es un texto de prueba";
$miArray = explode(" ", $texto);

echo $miArray[0] . "\n";
echo $miArray[1] . "\n";
echo $miArray[2] . "\n";
echo $miArray[3] . "\n";
echo $miArray[4] . "\n";
echo $miArray[5] . "\n";

$miTexto = implode("_", $miArray);

echo $miTexto . "\n";

?>
Anuncios

La primera parte sera lo que vimos anteriormente cuando hablamos de explode pero seguido a ese bloque tenemos otra variable llamada miTexto la cual contendra al implode, como caracter unidor pasamos al guion bajo o undercore (_) seguido del array creado anteriormente, por ultimo solo mostramos el resultado generado en miTexto, probemos y veamos su salida:

tinchicus@dbn001vrt:~/lenguajes/PHP$ php explode.php 
Este
es
un
texto
de
prueba
Este_es_un_texto_de_prueba
tinchicus@dbn001vrt:~/lenguajes/PHP$
Anuncios

Si observan seguimos teniendo el mismo resultado que antes pero ahora nuestra ultima linea son todos las palabras anteriores de cada posicion unidas por el guion bajo como indicamos en el implode, si hubieramos querido restaurar el texto original deberiamos haber usado un espacio en blanco pero si queremos usar otros caracteres para reemplazar los espacios en blanco simplemente lo pasamos como caracteres unidores, como pueden ver este fue un metodo un poco mas simple que el anterior, pasemos al siguiente.

Anuncios

array_slice

Esta funcion al igual que explode nos permite generar un nuevo array pero en lugar desde una cadena como sucede con explode lo haremos desde otro array, veamos su sintaxis mas basica:

variable = array_slice(nombreArray, posicionInicial);
Anuncios

Tenemos una variable que sera el nuevo array que crearemos luego usamos la funcion donde primero informaremos el array a utilizar y luego desde cual posicion crearemos un nuevo array, para entender el concepto vamos a utilizar un nuevo ejemplo y para ello crearemos un archivo que llamaremos slice.php y le agregaremos el siguiente codigo:

slice.php

<?php

$clase = array('Martin','Enzo','Ariel','Javier','Juan');
$otraClase = array_slice($clase,2);

echo $otraClase[0] . "\n";
echo $clase[2] . "\n";

?>
Anuncios
Anuncios

Primero crearemos un array con varios alumnos al cual llamaremos clase, despues crearemos a otro array llamado otraClase y en este usaremos a array_slice donde pasaremos el array anterior y le diremos que comience desde la tercera posicion, recuerden que siempre comienzan desde 0, con esto tenemos los dos arrays creados y uno sera derivacion del otro, por ultimo los mostraremos pero en el caso del array nuevo mostraremos la posicion inicial, 0, y en el otro mostraremos la posicion donde comenzo la funcion array_slice, probemos y veamos la salida:

tinchicus@dbn001vrt:~/lenguajes/PHP$ php slice.php 
Ariel
Ariel
tinchicus@dbn001vrt:~/lenguajes/PHP$
Anuncios

Como pueden ver tenemos los mismos valores pero en distintas posiciones porque ahora el alumno de la tercer posicion del array original sera la posicion inicial del nuevo array, tengan este ejemplo a mano porque lo veremos un poco mas adelante, pasemos al siguiente tema.

Anuncios

ksort

Esta funcion nos permite ordenar las claves de un array de este tipo, veamos su sintaxis:

<?php

$alumnos = array('martin'=>44, 'enzo'=>33, 'ariel'=>47, 'javier'=>46);
$alord=ksort($alumnos);

?>
Anuncios

En este caso creamos un array con multiples alumnos donde los nombres seran las claves y cada uno tiene una edad asignada, al siguiente paso crearemos otra variable donde almacenamos el resultado del orden alfabetico de las claves por medio de ksort simplemente informando el array a ordenar, esto solo aplica a los arrays asociativos, pasemos al ultimo tema.

Anuncios

count

Esta funcion nos permite contar la cantidad de elementos que posee un array, esto nos sera muy util para determinar el tamaño de un array y lo cual nos sera muchisimo mas util cuando trabajemos con el bucle for pero por ahora nos limitaremos a utilizar para saber el tamaño de nuestros arrays, su sintaxis es muy simple por ello vamos a aplicarlo directamente a un ejemplo, recuerden cuando hablamos de array_slice y les dije que tengan el codigo a mano porque ahora lo modificaremos de la siguiente manera:

slice.php

<?php

$clase = array('Martin','Enzo','Ariel','Javier','Juan');
$otraClase = array_slice($clase,2);

echo "\$clase tiene " . count($clase) . " elementos\n";
echo "\$otraClase tiene " . count($otraClase) . " elementos\n";

?>
Anuncios

En este caso seguimos creando el array por medio de array_slice y desde la misma posicion pero eliminamos las lineas que mostraban las posiciones de cada array por dos que nos indican cual es el nombre del array y la cantidad de elementos que posee por medio de count, y este solo tiene el array a contar, seguido de un texto y el modificador de nueva linea, pasemos a probar el codigo para ver su salida:

Anuncios
Nota: 
Si necesitan mostrar un caracter especial como el pesos ($) siempre antepongan la barra invertida o backslash (\) para que el interprete lo muestre como tal.
tinchicus@dbn001vrt:~/lenguajes/PHP$ php slice.php 
$clase tiene 5 elementos
$otraClase tiene 3 elementos
tinchicus@dbn001vrt:~/lenguajes/PHP$
Anuncios

Como pueden ver en el array original tenemos los 5 elementos que generamos al comienzo y en el segundo array vemos que posee los elementos que existen a partir de la tercer posicion es decir 3.

Anuncios

En resumen, hoy hemos visto varias funciones relacionadas a array, la primera para agregar varios datos al mismo tiempo, la segunda para eliminar un dato en particular, una para convertir cadena en un array, para unir los datos de un array en una cadena, otra para generar un nuevo array desde otro array, una para ordenar por claves y otra para contar los elementos de un array, espero les haya sido util 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
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50