miércoles, 2 de octubre de 2013

Funciones fundamentales para manejar arrays en PHP


A continuación veremos algunas funciones fundamentales para manejar arrays en PHP.

La funcion explode($separador, $string) permite crear un Array, a partir del separador indicado en el primer parámetro de la función y del string indicado por el segundo.

/*explode*/
$string = "El perro de Antonio tiene pulgas";
$array = explode(" ", $string);
foreach ($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : El
1 : perro
2 : de
3 : Antonio
4 : tiene
5 : pulgas
*/


La función implode($lazo, $array) permite extraer los elementos de un array, a partir del lazo indicado en el primer parámetro de la función y del array indicado en el segundo.

/*implode*/
$array = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$string = implode("-", $array);
print $string;
/* Resultado:
0-1-2-3-4-5-6-7-8-9
*/


La función count($array) devuelve el número de elementos contenidos en un array.

/*count*/
$array = array(1 => "uno", 2 => "dos", 3 => "tres", 4 => "cuatro");
$total = count($array);
print $total;
/* Resultado:
4
*/


La función sort($array, $ordenacion) permite ordenar los elementos de un array.

Tipos de ordenacion:

  • SORT_REGULAR - compara elementos normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara elementos de forma numérica
  • SORT_STRING - compara elementos como cadenas
  • SORT_LOCALE_STRING - compara elementos como cadenas, basándose en la configuración regional en uso. Utiliza la configuración regional, la cual puede cambiarse usando setlocale().
  • SORT_NATURAL - compara elementos como cadenas usando el "orden natural" de la misma forma que natsort().
  • SORT_FLAG_CASE - se puede combinar (OR a nivel de bits) con SORT_STRING o SORT_NATURAL para ordenar cadenas de forma insensible a mayúsculas/minúsculas.
Para ordenar los elementos de un array asociativo existe la función asort(), los tipos de ordenación son los mismos para esta función.

/*sort*/
$array = array("Pepe20", "Antonio2", "Raul100", "Manuel4");
sort($array, 6);
foreach ($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : Antonio2
1 : Manuel4
2 : Pepe20
3 : Raul100
*/


La función array_keys($array, $buscar), permite buscar coincidencias entre los elementos de un array, devuelve el número index del elemento coincidente.

/*array_keys*/
$array = array("pepe", "pep", "pepón", "pep", "pepito");
$coincidencias = array_keys($array, "pep");
foreach($coincidencias as $coincidencia)
{
print "Index " . $coincidencia . " : " . $array[$coincidencia] . "<br>";
}
/* Resultado:
Index 1 : pep
Index 3 : pep
*/


La función array_search($buscar, $array), Busca un valor determinado en un array y devuelve el index correspondiente en caso de éxito.

/*array_search*/
$array = array("peras", "manzanas", "melones", "naranjas", "melocotones");
$index = array_search("melones", $array);
print $index;

/* Resultado:
2
*/


La función in_array($buscar, $array) permite comprobar si un valor determinado existe entre los elementos de un array, hay que tener en cuenta que si se trata de un string la búsqueda es sensible a minúsculas y mayúsculas.

/*in_array*/
$array = array(0, 120, -500, 3000, 1290);
if (in_array(3000, $array))
{
print "El número 3000 se encuentra en el array";
}
else
{
print "El número 3000 no se encuentra en el array";
}
/* Resultado:
El número 3000 se encuentra en el array
*/


La función array_pop($array), elimina el último elemento de un array.

/*array_pop*/
$array = array(1, 2, 3, 4, 5);
array_pop($array);
foreach($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : 1
1 : 2
2 : 3
3 : 4
*/


La función array_push($array, $elemento1, $elemento2, ...), inserta uno o más elementos al final de un array.

/*array_push*/
$array = array(0, 1, 2, 3, 4);
array_push($array, 5, 6, 7, 8, 9);
foreach($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : 0
1 : 1
2 : 2
3 : 3
4 : 4
5 : 5
6 : 6
7 : 7
8 : 8
9 : 9
*/


La función array_shift($array), elimina el primer elemento de un array.

/*array_shift*/
$array = array(1, 2, 3, 4, 5);
array_shift($array);
foreach($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : 2
1 : 3
2 : 4
3 : 5
*/


La función array_unshift($array, $elemento1, $elemento2, ...), inserta uno o más elementos al principio de un array.

/*array_unshift*/
$array = array(5, 6, 7, 8, 9);
array_unshift($array, 0, 1, 2, 3, 4);
foreach($array as $index => $valor)
{
print $index . " : " . $valor . "<br>";
}
/* Resultado:
0 : 0
1 : 1
2 : 2
3 : 3
4 : 4
5 : 5
6 : 6
7 : 7
8 : 8
9 : 9
*/