Arrays en php

21 de /enero01 de /2015
5m 30s
php
0 comentarios
2351

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.

Valoraciones

Sé el primero en valorar

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

Quizás te interese ...

Utilizamos cookies para mejorar tu experiencia

Utilizamos cookies propias y de terceros para personalizar el contenido, analizar nuestros servicios, ofrecer funciones de redes sociales, analizar el tráfico y mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación.

Permitir todas las cookies Configurar Política de cookies