sábado, 26 de julio de 2014

Las tablas o arrays en PHP - 1 de 2



1. Tabla numérica

Una tabla es como una variable, pero puede almacenar varios valores.

Una tabla se define con una clave (llamada índice) y un valor:

Para crear esta tabla, escriba lo siguiente:

<?php
$tabla = array(’Juan’,’Roberto’,’Pablo’,’Pedro’,’Alonso’);
?>

Aquí la tabla se denomina $tabla, pero la puede llamar de cualquier otra manera.

También puede acceder directamente al valor de una tabla a través de su índice, con la siguiente sintaxis:

<?php
echo $tabla[0];
?>

Da como resultado:

Juan

En efecto, $tabla[x] es una variable que tiene como valor el segundo elemento de la tabla.

Atención: los índices de las tablas comienzan desde 0.

Para sustituir la cadena de caracteres ’Roberto’ por ’Nadia’ en el índice 1 de la tabla, escriba:

<?php
$tabla[1] = ’Nadia’;
?>

También puede crear una tabla vacía y rellenarla de la siguiente manera:

<?php
$tabla = array();
$tabla[0] = ’Juan’;
$tabla[1] = ’Roberto’;
$tabla[2] = ’Pablo’;
$tabla[3] = ’Pedro’;
$tabla[4] = ’Alonso’;
?>

O bien de esta manera:

<?php
$tabla = array();
$tabla[] = ’Juan’;
$tabla[] = ’Roberto’;
$tabla[] = ’Pablo’;
$tabla[] = ’Pedro’;
$tabla[] = ’Alonso’;
?>

O incluso:

< ?php
$tabla = [’Juan’,’Roberto’, ’Pablo’,’Pedro’,’Alonso’] ;
?>

PHP rellena automáticamente los índices, que es lo mismo que escribir:

<?php
$tabla = array(’Juan’,’Roberto’,’Pablo’,’Pedro’,’Alonso’);
?>


2. Tabla asociativa

En un tabla asociativa puede decidir la clave que va a introducir.

Por ejemplo:

En este ejemplo la clave puede tomar cualquier valor; no tiene que ser necestariamente un número.

Este tipo de tabla se escribe de la siguiente manera:

<?php
$tabla = array(’A1’=>’Juan’,’B4’=>’Roberto’,3=>’Pablo’,’PEPE’=>’Pedro’,
’H’=>’Alonso’);
?>

La asociación se escribe con los símbolos =>. El primero es la clave y el segundo, el valor.

Otra forma de completar esta tabla es:

<?php
$tabla = array();
$tabla[’A1’] = ’Juan’;
$tabla[’B4’] = ’Roberto’;
$tabla[3] = ’Pablo’;
$tabla[’Pepe’] = ’Pedro’;
$tabla[’H’] = ’Alonso’;
?>

Puede utilizar esta tabla cuando la clave tiene una información importante.

Por ejemplo, si quiere almacenar las características de una persona en una tabla $persona, escriba:

<?php
$persona = array();
$persona[’Apellido’] = ’Martín’;
$persona[’Nombre’] = ’Mónica’;
$persona[’Edad’] = 50;
?>

A continuación, si quiere mostrar la edad, escriba:

<?php
echo $persona[’Edad’];
?>


3. Recorrido de una tabla

Existen varias soluciones para recorrer una tabla.
  • a. El bucle for
<?php
//creación de la tabla
$tabla = array(’Juan’,’Roberto’,’Pablo’,’Pedro’,’Alonso’);
//bucle en la tabla
for ($i = 0; $i < 5; $i++) {
//mostrar los valores concatenados de la tabla
//con un salto de línea
echo $tabla[$i].’<br />’;
}
?>

Este ejemplo muestra:

Juan
Roberto
Pablo
Pedro
Alonso

Por tanto, $i varía de 0 a 4, el bucle muestra $tabla[0], cuyo valor es ’Juan’, $tabla[1], cuyo valor es ’Roberto’, etc.

Algunas veces los elementos de una base de datos se recuperan en una tabla y no se puede saber con antelación el número de elementos que contiene esta tabla. Si desconoce el tamaño de la tabla, puede usar las funciones count() o sizeof(), que se detallan más adelante.

Por ejemplo:

<?php
//creación de la tabla
$tabla = array(’Juan’,’Roberto’,’Pablo’,’Pedro’,’Alonso’);
//bucle en los registros de la tabla
for ($i = 0; $i < sizeof($tabla); $i++) {
//muestra los valores concatenados de la tabla
//con un salto de línea
echo $tabla[$i].’<br />’;
}
?>

Este ejemplo muestra lo siguiente:

Juan
Roberto
Pablo
Pedro
Alonso

  • b. El bucle foreach
Este bucle es muy práctico porque no tiene que estar pendiente del tamaño de la tabla.

El bucle foreach no usa un contador. Almacena de uno en uno los valores de la tabla en una variable temporal, que en el siguiente ejemplo es $val. Puede dar a esta variable el nombre que quiera y no necesita definirla.

<?php
//creación de la tabla
$tabla = array(’Juan’,’Roberto’,’Pablo’,’Pedro’,’Alonso’);
//bucle en la tabla
foreach ($tabla as $val) {
//muestra los valores concatenados de la tabla
//con un salto de línea
echo $val.’<br />’;
}
?>

Da como resultado:

Juan
Roberto
Pablo
Pedro
Alonso

Este bucle tiene otra ventaja: también permite mostrar la clave de la tabla:

<?php
//creación de la tabla
$tabla = array(’A1’=>’Juan’,’B4’=>’Roberto’,3=>’Pablo’,’Pepe’=>’Pedro’,
’H’=>’Alonso’);
//bucle en la tabla
foreach ($tabla as $clave => $val) {
//muestra los valores concatenados de la tabla
//con un salto de línea
echo ’Clave:’.$clave.’, valor:’.$val.’<br />’;
}
?>

Da como resultado:

Clave:A1, valor:Juan
Clave:B4, valor:Roberto
Clave:3, valor:Pablo
Clave:Pepe, valor:Pedro
Clave:H, valor:Alonso

El bucle foreach se escribe con la variable $clave (aunque le puede dar cualquier otro nombre), y contiene la clave de la tabla, así como el signo => y la variable $val, que contiene el valor correspondiente a la clave.

También puede utilizar el bucle foreach sin la clave, como muestra el siguiente ejemplo:

<?php
//creación de la tabla
$tabla = array(’A1’=>’Juan’,’B4’=>’Roberto’,3=>’Pablo’,’Pepe’=>’Pedro’,
’H’=>’Alonso’);
//bucle en la tabla
foreach ($tabla as $val) {
//muestra los valores concatenados de la tabla
//con un salto de línea
Echo ’valor:’.$val.’<br />’;
}
?>

Da como resultado:

valor:Juan
valor:Roberto
valor:Pablo
valor:Pedro
valor:Alonso

  • c. print_r
Los programadores utilizan esta función para mostrar el contenido de la tabla sin cambiar el formato.
Ejemplo:

<?php
//creación de la tabla
$tabla = array(’A1’=>’Juan’,’B4’=>’Roberto’,3=>’Pablo’,’Pepe’=>’Pedro’,
’H’=>’Alonso’);
print_r($tabla);
?>

Da como resultado:

Array ( [A1] => Juan [B4] => Roberto [3] => Pablo [Pepe] => Pedro [H] => Alonso)



Espero haber ayudado en algo. Hasta la próxima oportunidad!








No hay comentarios:

Publicar un comentario en la entrada