Ya hemos visto algunos ejemplos prácticos del uso de los array como por ejemplo este. Lo que haremos en este minitutorial será introducirnos en la creación y manejo de los array. Para ello veremos:
- Como crearlos desde una cadena o string.
- Como imprimirlos en pantalla.
- Como extraer un valor.
- Como extraer las claves.
- Como convertir los array de nuevo en una cadena.
- Como agregar o eliminar valores al array.
- Como operar con los array en caso de que estos sean numéricos.
- Y como no, veremos también algunas opciones de ordenación.
Sobre la ordenación de los array, distinguiremos las siguientes opciones:
Ordena los VALORES del array
Con SORT: Ascendente y NO se mantiene la relacion entre claves y valores
Con RSORT: Descendente y NO se mantiene la relacion entre claves y valores
Con ASORT: Ascendente y SI se mantiene la relacion entre claves y valores
Con ARSORT: Descendente y SI se mantiene la relacion entre claves y valores
Ordena las CLAVES del array
Con KSORT: Ascendente y SI se mantiene la relacion entre claves y valores
Con KRSORT: Descendente y SI se mantiene la relacion entre claves y valores
SHUFFLE: Orden aleatorio y NO mantiene la relacion entre claves y valores
Sin más, este es el código que he desarrollado, que a mi modo de ver, recoge lo absolutamente imprescindible sobre el uso de los array.
<?php
error_reporting(-1);
ini_set("display_errors", 1);
// ========================================================================
// ========================================================================
// CREAMOS ARRAY A PARTIR DE UNA CADENA
// Cadena que convertiremos en un array
$lenguajes = "HTML5, CSS, Javasctript, PHP, SQL";
echo "<p><b>Cadena original:</b> $lenguajes </p>";
$sep_1 = ", "; // Elemento que separa los valores que queremos introducir en el array
$array_lenguajes = explode($sep_1, $lenguajes); // Asi creamos array desde una cadena
// Imprimimos el array
echo '<pre>';
print_r($array_lenguajes);
echo '</pre>';
// Extraemos un valor del array, el primer valor es el cero
// Si queremos sacar PHP, seria el tercer valor
$id_ar = 3;
$indice3 = $array_lenguajes[$id_ar];
echo "<p><b>El cuarto valor del array es:</b> $indice3</p>";
// ========================================================================
// ========================================================================
// CREAMOS CADENA O STRING A PARTIR DE UN ARRAY
$sep_2 = " || "; // Separador para la nueva cadena
$cadena_lenguajes = implode($sep_2, $array_lenguajes); // Creamos una cadena con los terminos del array
echo "<p><b>Nueva cadena:</b> $cadena_lenguajes </p>";
// ========================================================================
// ========================================================================
// AGREBAMOS VALORES AL ARRAY
echo "<p><b>Agregamos elementos al array</b></p>";
$otro_leng1 = "Jquery";
$otro_leng2 = "ASP";
array_push($array_lenguajes, $otro_leng1, $otro_leng2);
// Imprimimos el array
echo '<pre>';
print_r($array_lenguajes);
echo '</pre>';
/*
Otras opciones complementarias:
array_unshift() - Inserta uno o más elementos al inicio de un array
array_shift() - Quita un elemento del principio del array
array_push() - Inserta uno o más elementos al final de un array
array_pop() - Extrae el último elemento del final del array
*/
// ========================================================================
// ========================================================================
// BUSQUEDAS EN UN ARRAY
$buscar = "CSS";
if (in_array($buscar, $array_lenguajes)) {
$respuesta = "<b>$buscar</b> existe en el ARRAY";
} else {
$respuesta = "<b>$buscar</b> no existe en el ARRAY";
}
echo "<p>$respuesta </p>";
// ========================================================================
// ========================================================================
// EXTRAEMOS LAS CLAVES O INDICES DEL ARRAY
$claves_array = array_keys($array_lenguajes);
echo '<pre>';
print_r($claves_array);
echo '</pre>';
// Elimina el primer elemento del array, lo hemos hecho para que al mutiplicar no de
// resultaddo cero ya que el primer valor de este array es cero
array_shift($claves_array);
$cadena_claves = implode($sep_1, $claves_array); // Creamos una cadena con los claves del array
$suma_claves = array_sum($claves_array);
$producto_claves = array_product($claves_array);
$cuenta_claves = count($claves_array);
echo "
<p><b>Claves del array tras eliminar el primer elemento: </b>$cadena_claves</p>
<p><b>Suma claves array: </b>$suma_claves</p>
<p><b>Producto claves array: </b>$producto_claves</p>
<p><b>Elementos en el array: </b>$cuenta_claves (recuerda que hemos quitado el primero, el valor cero).</p>
";
echo '<pre>';
print_r($claves_array);
echo '</pre>';
// ========================================================================
// ========================================================================
// OPERAMOS CON CADA UNO DE LOS VALORES DE UN ARRAY
$_valor = 4;
$claves_array1 = array();
for ( $e = 0 ; $e < $cuenta_claves ; $e ++) {
$datos = $claves_array[$e] * $_valor; // Aqui especificamos la operacion a realiza, multiplicar en este caso
$claves_array1[$e] = $datos;
}
echo "<p><b>Devolvemos el array multipilicado por $_valor.</b></p>";
// Sacamos $claves_array1 del bucle
$sacar = 0;
foreach ($claves_array1 as $valor){
echo "$valor, "; // Imprimimos los valores y los separamos por comas
$sacar = $sacar + $valor;
}
// ========================================================================
// ========================================================================
// ORDENAMOS UN ARRAY
echo "<p><b>Ordenamos array.</b></p>";
sort($array_lenguajes); // Ordenamos array en sentido ascendente
rsort($claves_array); // Ordenamos array en sentido descendente
// Imprimimos el array
echo '<pre>';
print_r($array_lenguajes);
echo '</pre>';
// Imprimimos el array
echo '<pre>';
print_r($claves_array);
echo '</pre>';
?>