USO DE ARRAYS PHP
Ejemplos de experimentación y análisis:
Ejemplo 1: array $frutas1,
matriz indexada; usa índices numéricos de acceso a cada elemento
array_ejmp01.php
<?php
//definir matriz
$frutas = array("manzana", "piña", "uva");
echo "Fruta de primera celda: $frutas[0] <br>";
echo "Fruta de segunda celda: $frutas[1] <br>";
echo "Fruta de tercera celda: $frutas[2] <br>";
?>
Ejemplo 2: array $frutas2,
matriz asociativa; remplaza el índice de indexación por palabras clave
definidas por el programador. Las palabras clave son únicas y la relación de
PalabraClave-Valor se establece con el símbolo conector =>; el acceso es por
palabra clave.
array_ejmp02.php
<?php
//definir matriz
$frutas = array(
'm' => 'manzana',
'p' => 'pera',
'n' => 'naranja'
);
echo "Fruta de primera celda:". $frutas['m'] ."<br>";
echo "Fruta de segunda celda:". $frutas['p'] ."<br>";
echo "Fruta de tercera celda:". $frutas['n'] ."<br>";
?>
METODOS DE ASIGNACION DE VALORES:
Usando un listado de valores separadas por comas en la función array()
aplicando la sintaxis:
$nombreMatriz = array(dato, dato,…)
Ejemplo 3: array $autos1
array_empl.php
<?php
//definir matriz
$autos = array('Toyota', 'Hyudai', 'Ford');
echo "Auto de primera celda: $autos[0] <br>";
echo "Auto de segunda celda: $autos[1] <br>";
echo "Auto de tercera celda: $autos[2] <br>";
?>
Usando notaciones indexadas por números, aplicando la sintaxis:
$nombreMatriz[0] = dato
Ejemplo 4: array $autos2
array_ejmp.php
?php
//definir matriz
$autos2[0]='Suzuqui';
$autos2[1]='Nissan';
$autos2[2]='Ford';
echo "Auto de primera celda: $autos2[0] <br>";
echo "Auto de segunda celda: $autos2[1] <br>";
echo "Auto de tercera celda: $autos2[2] <br>";
?>
Otros modos de asignación:
Ejemplo 5: Asignación
automática
array_ejmp05.php
<?php
//definir matriz
$autos3[]='Toyota';
$autos3[]='Nissan';
$autos3[]='Ford';
echo "Auto de primera celda: $autos3[0] <br>";
echo "Auto de segunda celda: $autos3[1] <br>";
echo "Auto de tercera celda: $autos3[2] <br>";
?>
Ejemplo 6: Alternativa
en matriz asociativa
array_ejmp06.php
<?php
//definir matriz
$usuario = array(
'nombreUsuario' => 'Pedro',
'password' => 'ppd',
'servidor' => '192.168.0.1'
);
echo "La contarseña es:".$usuario['password'];
?>
Ejemplo 7: Otra
Alternativa en matriz asociativa
array_ejmp07.php
<?php
//definir matriz
$usuario2['nombre']='Pedro Pablo Diaz';
$usuario2['clave']='ppd';
$usuario2['server']='198.160.0.1';
echo "El usuario es:".$usuario2['nombre'];
?>
Ejemplo 8: matriz
$usuario
array_ejmp08.php
<?php
//definir matriz
$usuario3 = array (
'nombre' => 'Pedro Pablo',
'clave' => 'ppd',
'server' => '198.160.0.1'
);
echo "El usuario es:".$usuario3['nombre'];
?>
Ejemplo
9: modificar, eliminar valores
array_ejmp09.php
<?php
//definir matriz
$autos = array('Toyota', 'Hyudai', 'Ford');
echo "Auto de primera celda: $autos[0] <br>";
echo "Auto de segunda celda: $autos[1] <br>";
echo "Auto de tercera celda: $autos[2] <br>";
//modificar dato
$autos[1]='Nissan';
echo "Auto de primera celda: $autos[0] <br>";
echo "Auto de segunda celda: $autos[1] <br>";
echo "Auto de tercera celda: $autos[2] <br>";
//eliminar dato
unset($autos[1]);
echo "Auto de primera celda: $autos[0] <br>";
echo "Auto de segunda celda: $autos[1] <br>";
echo "Auto de tercera celda: $autos[2] <br>";
?>
RECUPERAR TAMAÑO:
Para obtener
el tamaño o cantidad de elementos de la matriz, se puede hacer con la función
count(), sizeof().
Ejemplo 10: tamaño de array $datos
array_ejmp10.php
<?php
//definir matriz
$autos3[]='Toyota';
$autos3[]='Nissan';
$autos3[]='Ford';
echo "La matriz tiene:".count($autos3). " elementos <br>";
?>
MATRICES ANIDADAS o Multiarrays:
PHP permite combinar matrices colocando una dentro de la otra sin limite
de profundidad.
Ejemplo 11: matriz
indexada que anida una matriz asociativa
array_ejmp11.php
<?php
//def mat
$directorio = array(
array(
'nombre' => 'Pedro P Diaz',
'telefono' => '464006',
'correo' => 'admisionppd@gmail.com'
),
array(
'nombre' => 'Sheyla Vargas',
'telefono' => '943464006',
'correo' => 'rosava@gmail.com'
)
);
//acceso
echo "Telefono del instituto:".$directorio[0]['telefono'];
?>
PROCESO DE MATRICES CON BUCLES:
Se puede aplicar bucles for(), while()
Ejemplo 12: uso de
bucles para procesar matrices
array_ejmp12.php
<?php
//definición de matriz
$ciudades = array ("Lima", "Arequipa","Trujillo","Tacna");
//listado con for()
echo "Listado con for() <br>";
for($i=0; $i<count($ciudades);$i++)
{
echo $ciudades[$i]."<br>";
}
echo "Listado con while()) <br>";
$i=0;
while($i < count($ciudades))
{
echo $ciudades[$i]."<br>";
$i++;
}
?>
EL BUCLE foreach:
Diseñado para hacer iteraciones sobre matrices, cada vez que se ejecuta
este bucle, el elemento en uso de la matriz es asignado a una variable
temporal. Este bucle tiene un recorrido automático de inicio a fin de los
elementos de la matriz.
Ejemplo 13: uso de bucle
foreach
array_ejmp13.php
<?php
//definición de matriz
$ciudades = array ("Lima", "Arequipa","Trujillo","Tacna","Iquitos");
//listado con foreach
echo "Listado con foreach() <br>";
foreach($ciudades as $c)
{
echo $c."<br>";
}
?>
Ejemplo 14: uso de bucle
foreach con matriz asociativa
array_ejmp14.php
<?php
//def mat
$paises = array(
"Peru" => "Lima",
"Francia" => "Paris",
"India" => "Nueva Delhi"
);
//listado
foreach($paises as $clave => $valor)
{
echo "$valor es la capital de $clave <br>";
}
?>
EL ITERADOR DE MATRICES:
Para ello usa un objeto de la clase ArrayIterator que inicializa la
matriz. Además aplica las funciones: rewind() para colocar puntero al primer
elemento, valid() para saber si hay dato valido, key() para palabra clave,
current() para valores asociados, next() avanza el puntero de acceso.
Ejemplo 15: uso de iterador
array_ejmp15.php
<?php
//definición de matriz
$paises = array(
"Peru" => "Lima",
"Francia" => "Paris",
"India" => "Delhi"
);
//crea objeto ArrayIterador
$iterador = new ArrayIterator($paises);
//puntero al inicio
$iterador->rewind();
//listado
while($iterador->valid())
{
echo $iterador->current()." es capital de ".$iterador->key()."<br>";
$iterador->next();
}
?>
TAREA: Desarrollar los siguientes ejercicios utilizando arrays, publicarlos en
el Blog personal del estudiante y luego pegar el enlace como entrega de tarea
en el aula virtual:
a)
Se tiene el siguiente array de notas de alumnos
$notas con los notas: 16, 12, 18, 16 ,19, 11, 14, 18, 10, 8, 15, 18, 20, 18,6,8,9,13,12,15,14,17,18
. Determinar promedio general, número de alumnos excelentes (17..20), buenos
(14..16), regulares 13, jalados (0..12).
tarea_a.php
<?php
$notas = array(16,12,18,16,19,11,14,18,10,8,15,18,20,18,6,8,9,13,12,15,14,17,18);
$cont=0;
$cont2=0;
$Excelentes=0;
$buenos=0;
$regulares=0;
$jalados=0;
for ($i=0; $i < count($notas); $i++) {
$cont=$cont+1;
$cont2=$cont2+$notas[$i];
if ($notas[$i]>=17 && $notas[$i]<=20) {
$Excelentes=$Excelentes+1;
}
elseif ($notas[$i]>=14 && $notas[$i]<=16) {
$buenos=$buenos+1;
}
elseif ($notas[$i]==13) {
$regulares=$regulares+1;
}
elseif ($notas[$i]>=0 && $notas[$i]<=12) {
$jalados=$jalados+1;
}
}
$prome=$cont2/$cont;
echo "el promedio general es ".floor($prome);
echo "<br>ALUMNOS Excelentes : $Excelentes";
echo "<br>ALUMNOS buenos : $buenos";
echo "<br>ALUMNOS regulares : $regulares";
echo "<br>ALUMNOS jalados : $jalados";
?>
b)
Cargar un array con las temperaturas promedio
diarias, determine temperatura máxima y día de ocurrencia, temperatura mínima y
día de ocurrencia, temperatura promedio mensual.
tarea_b.php
<?php
$temp = array(
"lunes"=>25
"martes"=>26
"miercoles"=>22
"jueves"=>19
"viernes"=>21
"sabado"=>25
"domingo"=>27
);
$cont=0;
$cont2=0;
$max=0;
$min=0;
$prom=0;
foreach($temp as $clave => $valor)
{
echo "$valor °C del dia $clave <br>";
$cont=$cont+$valor;
}
echo "<br>La temperatura promedio es ".$cont/7;
echo "<br>La temperatura minima fue °".min($temp)." Dia Viernes";
echo "<br>La temperatura maxima fue °".max($temp)." Dia Sabado";
?>
c)
Ingresar a un array las 24 regiones de Perú y luego
listarlas usar for, while
tarea_c.php
<?php
$reg=array("Amazonas", "Ancash", "Apurimac", "Arequipa", "Ayacucho", "Cajamarca", "Callao", "Cusco","Huancavelica", "Huanuco",
"Ica", "Junín", "La Libertad", "Lambayeque", "Lima", "Loreto", "Madre de Dios", "Moquegua", "Pasco", "Piura", "Puno", "San Martín", "Tacna", "Tumbes", "Ucayali");
for($i=0; $i<count($reg);$i++)
{
echo $reg[$i]."<br>";
}
echo "-------------------------------------------- <br>";
echo "Listado con while()) <br>";
$i=0;
while($i < count($reg))
{
echo $reg[$i]."<br>";
$i++;
}
?>
d)
Ingresar en un array los países de
Latinoamérica y luego listarlos, usar foreach.
tarea_d.php
<?php
$latam=array("bolivia", "argentina", "Ecuador", "Paraguay", "Brasil", "colombia", "Peru", "Chile", "Uruguay "," venezuela");
foreach($latam as $c){
echo "-$c";
}
?>
Comentarios
Publicar un comentario