Matrices o Arrays en PHP5

Todos sabemos una matriz es una colección de valores agrupados dentro de un mismo elemento llamado matriz o vector. Cada uno de esos valores tiene un índice que nos permite acceder de forma aleatoria o secuencial a su contenido.
Distinguiremos dos tipos de matrices, matrices escalares, aquellas que su índice es un número y matrices asociativas, aquellas que su índice es una cadena (una etiqueta).

Ejemplo de matriz escalar

<?php
$amigos=array("Javier","Agustin","Santiago","Jorge");
//Se accede usando un índice
for ($i=0;$i<4;$i++)
	echo "<p>$amigos[$i]</p>";
?>

Ejemplo de matriz asociativa

<?php
$meses=array('Junio'=>30,'Julio'=>32,'Agosto'=>28);
//Se accede usando el nombre
echo "<p>".$meses['Junio']."</p>";
echo "<p>".$meses['Julio']."</p>";
echo "<p>".$meses['Agosto']."</p>";
?>

Matrices MIXTAS en PHP

A diferencia de la mayoría de lenguajes de programación, PHP5 permite el uso de distintos tipos para cada elemento de la matriz, de tal forma que puedo tener vectores como los del ejemplo.

<?php
$amigos=array("Javier",1,"Santiago",2);
//Se accede usando un índice
for ($i=0;$i<4;$i++)
	echo "<p>$amigos[$i]</p>";
?>

Creación o inicialización de matrices

Se dipone de múltiples formas para crear o inicializar una matriz.

Declaración explícita

Rellenaremos cada elemento uno a uno, tanto si se trata de una matriz escalar o una matriz asociativa

<?php
$escalar[0]=0;
$escalar[1]=1;
$escalar[2]=2;
$escalar[3]=3;
$escalar[4]=4;

$asociativa['primero']=1;
$asociativa['segundo']=2;
$asociativa['tercero']=3;
$asociativa['cuarto']=4;
$asociativa['quinto']=5;
?>

También tenemos la posibilidad, aunque no es muy aconsejable, de rellenar la matriz sin indicar el índice, de tal forma que PHP pondrá los índices de 0 en adelante en caso de ser nueva. Tomará el índice mayor y continuará desde el en caso de tener elementos, si tiene elementos y estos son negativos tomará como índice el 0.

<?php
$escalar[]=0;
$escalar[]=1;
$escalar[]=2;
$escalar[]=3;
$escalar[]=4;
?>

Crear matrices usando en constructor array

Consiste en invocar a la función constructura array(), con los valores que deseemos para crear nuestra matriz, de esta forma podremos crear tanto matrices escalares como asociativas.

<?php
$vacia=array();
$amigos=array("Javier","Agustin","Santiago","Jorge",(2+2));
$otrosamigos=array(10=>"Javier",20=>"Agustin",30=>"Santiago",40=>"Jorge",(2+2));
$meses=array('Junio'=>30,'Julio'=>32,'Agosto'=>28);
?>

Crear Matrices con la función array_fill(P,N,V)

La función de PHP5 array_fill recibe tres parámetros P (inicio), N (número de elementos) y V (valor), sirve para crear una matriz con todos los elementos iguales. Veamos un par de ejemplos.

<?php
//El vector comienza en 0 y rellanará tres elementos
$vector=array_fill(0,3,"uno");
echo "<p>$vector[0]</p>";
echo "<p>$vector[1]</p>";
echo "<p>$vector[2]</p>";
?>

Crear Matrices con la función range(I,F,P)

Range recibe tres parámetros, valro inicial, valor final y paso, de tal forma que creará una matriz con tantos elementos como pueda entre valor inicial y final, siempre respetando el paso, ejemplo:

<?php
$vector=range(0,100,2);
foreach ($vector as $elemento)
	echo "<p>$elemento</p>";

?>

Ejercicios

  1. Crea una matriz escalar para guardar los días de la semana de forma explícita
  2. Crea una matriz asociativa para guardar la temperatura de cada día de la semana de forma explícita
  3. Crea una matriz escalar para guardar los días de la semana usando el constructor array
  4. Crea una matriz asociativa para guardar la temperatura de cada día de la semana usando el constructor array
  5. Crea una matriz de cero a 100 escribiendo los valores de cuatro en cuatro (range)
  6. Crea una matriz de 100 elementos todos con el mismo valor (array_fill())
  7. Crea una matriz vacía usando el constructor array()
  8. Crea una matriz mixta de números y cadenas, de tamaño 10, hazlo tanto de forma explícita como usando array()

Originally posted 2011-02-15 19:23:51.

3 Responses to “ Matrices o Arrays en PHP5 ”

  1. feliciana martínez dice:

    Crea un matriz vacía a partir del constructor del
    constructor array()
    Me puedes explicar qué es esto?
    gracias

  2. jlmora dice:

    simplemente:

    $vector=array(1,2…)

    La función array es un constructor

  3. feliciana martínez dice:

    ya me imaginaba que era algo así pero…

Deja un comentario