Listar un directorio con php es muy útil para visualizar de forma rápida el contenido de una carpeta de nuestro proyecto, si añadimos un...
Arrays en php
Un array es una zona de almacenamiento que asocia valores con claves compuesta de elementos ordenados, según la documentación oficial de PHP, puede ser usado como “una matriz real, una lista (vector), una tabla asociativa (una implementación de un mapa), diccionario, colección, pila, cola, y posiblemente más”.
Para crear un array utilizamos el constructor “array()” y le asignamos un número de parejas de “clave => valor” como argumentos.
Ejemplo
$z = array(1,2,3,4,5);
$z = array(1 => 'uno',2 => 'dos',3 => 'tres',4 => 'cuatro',5 => 'cinco');
A partir de PHP 5.4 podemos usar la misma sintaxis para crear arrays que en C, C++ o Java “[ ]”
$z = [1,2,3,4,5]
Al igual que en otros lenguajes como C o C++, PHP utiliza la indexación base 0, es decir, el primer elemento de una array es 0, el segundo el 1 y así sucesivamente, es muy recomendable acostumbrarse a trabajar de esta forma, aunque podemos asignar la posición 1 al primer valor para indexarlo desde la primera posición de esta forma:
Ejemplo
$z = [1 => 'uno','dos', 'tres', 'cuatro', 'cinco']
Tipos de valores
En algunos lenguajes de programación como C, C++ o Java los valores tienen que ser del mismo tipo, en PHP no es necesario que los valores sean del mismo tipo.
Ejemplo
$cuatro = 'cuatro';
$cinco = 5;
$z = array(1,'dos',3,$cuatro,$cinco);
Array numérico indexado
En un array de este tipo, accedemos a las posiciones de los elementos asignando un numero entero a cada posición del array.
Ejemplo
$x = array("Cero", "Uno", "Dos");
echo . $x[0] . ", " . $x[1] . ", " . $x[2] . ".";
Array asociativo
En un array de este tipo, accedemos a las posiciones de los elementos (valores) asociandolas a un clave
Ejemplo
$x = array(0 => 'Cero', 1 => 'uno', 2 => 'Dos',);
echo $x[0] . ", " . $x[1] . ", " . $x[2] . ".";
Array multidimensional
Un array multidimensional se puede definir como un array de arrays, en este tipo de array accedemos a los elementos indicando en primer lugar la posición del array y en segundo lugar la posicion del elemento dentro del array, Los arrays multidimensionales en PHP acentan varios niveles de profundidad, aunque no es aconsejable utilizar arrays multidimensinales de mas de tres niveles de profundidad, los mas usados son el bidimensional y el tridimensional (2 y 3 niveles respectivamente)
Ejemplo bidimensional
$x = array (
array("Posicion 0","POSICION 1","Posicion 2"),
array("Posicion 0","Posicion 1","Posicion 2"),
array("Posicion 0","Posicion 1","POSICION 2"),
);
echo $x[0][1].'<br>';
echo $x[2][2];
Ejemplo tridimensional
$x = array (
array(
array("Posicion 0","POSICION 1","Posicion 2"),
array("Posicion 0","Posicion 1","Posicion 2"),
array("Posicion 0","Posicion 1","Posicion 2")
),
array(
array("Posicion 0","Posicion 1","Posicion 2"),
array("Posicion 0","Posicion 1","Posicion 2"),
array("Posicion 0","Posicion 1","POSICION 2")
),
);
echo $x[0][0][1].'<br>';
echo $x[1][2][2];
Funciones
Existen decenas de funciones en PHP para trabajar con arrays, en la web de W3Schools puedes encontrar un listado con las funciones más comunes para trabajar con arrays, comprueba antes de crear una función si ya existe una función en PHP que realice la tarea que quieres llevar a cabo con un array, hay muchas funciones disponibles.
Puedes encontrar más información sobre arrays en la Documentación oficial de PHP.
Por ultimo he creado un ejemplo muy sencillo para controlar mediante un archivo PHP todo el contenido principal de una plantilla, cuando trabajamos con proyectos muy grandes con muchos documentos y carpetas, puede ser muy complicado cambiar determinados textos o recursos en todos los archivos de la página, con este recurso podemos realizar esta tarea desde un unico archivo
index.php
<?php
include "textos.php";
?>
<!DOCTYPE HTML>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Didesweb</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h4 class="<?php echo $estilos["enlaces_normales"];?>">
<?php echo $titulos["enc_1"];?>
</h4>
<h5 class="<?php echo $estilos["enlaces_destacados"];?>">
<?php echo $titulos["enc_2"];?>
</h5>
<ul>
<li>
<a class="
<?php echo $estilos["enlaces_normales"];?>" href="">
<?php echo $enlaces["link_1"];?>
</a>
</li>
<li>
<a class="
<?php echo $estilos["enlaces_destacados"];?>" href="">
<?php echo $enlaces["link_2"];?>
</a>
</li>
</ul>
</body>
</html>
textos.php
<?php
$titulos=array(
'enc_1'=>"Titulo Grande",
'enc_2'=>"Titulo pequeño",
);
$enlaces=array(
'link_1'=>"Enlace 1",
'link_2'=>"Enlace 2",
);
$estilos=array(
'enlaces_normales'=>"enlaces",
'enlaces_destacados'=>"enlaces_dest",
);
?>
style.css
.enlaces { color: blue;}
.enlaces_dest { color: red;}
Aunque es un ejemplo muy sencillo es un recurso muy potente en un proyecto grande, donde puedes implementar arrays para controlar por ejemplo los enlaces que son comunes en todo el documento y aparecen en diferentes archivos o cualquier cosa que necesites modificar con frecuencia.
Puedes ver el código de este archivo en mi cuenta de GitHub.
Quizás te interese ...
Pasar variables en php es muy fácil, lo primero que tenemos que saber es que el ámbito de una variable es el sitio donde la variable tiene...
Los parámetros son variables que recibe una función para utilizarlas en la ejecución de la misma, estos se pueden pasar de 3 formas...
En este artículo vamos a crear un mecanismo para mostrar las tablas de una base de datos en MySQL dinámicamente, el objetivo es que el...
Valoraciones
Sé el primero en valorar