Sei sulla pagina 1di 5

1 PHP, Guía 4

Tema: Matrices en PHP

Contenido

Facultad: Ingeniería Escuela: Computación Asignatura: PHP

Se muestra el manejo de arreglos y matrices en PHP y la manera de usar las matrices como parte de una solución en casos prácticos

Objetivo Especifico

Conocer el manejo de arreglos y matrices en PHP

Usar las matrices como parte de una solución en casos prácticos

Introduccion Teorica

MATRICES Una matriz ó arreglo (array en ingles) es un conjunto de variables agrupadas bajo un único nombre. Cada variable dentro de la matriz se denomina elemento. Dentro de la misma matriz pueden existir variables de diferentes tipos y no es necesario que sean todas del mismo tipo. I. Hay que diferenciar entre los dos tipos de matrices existentes:

a) Indexada:

Aquella cuyo acceso a los elementos se realiza por la posición que ocupan dentro de la estructura (se inician siempre desde la posición 0). Ejemplo: $amigo[0];

b) Asociativa:

Es aquella en la que los elementos están formados por pares clave-valor y el acceso se realiza proporcionando una determinada clave. Ejemplo:

$amigo[‘edad’=>21]

II. Para crear matrices en PHP existen dos formas:

a) Forma implícita:

Que consistiría en indicarle el elemento (ya sea proporcionando su posición o su clave). Ejemplo: $nombres [0]=’juan’;

En caso de no indicarle una posición el array tomara el valor siguiente al último valor introducido. Ejemplo: $nombres []='Lucas;' // tomaría como valor 1 ya que lo ultimo introducido era 0.

b) Mediante array( ):

En el cual le pasamos los elementos como parámetros. En caso de matriz indexada toman la posición que ocupan en la creación de la matriz, mientras que los de la matriz asociativa se les asigna su valor mediante "=>".

2

PHP, Guía 4

Ejemplo:$amigo=array('Nombre'=>'Jose','Direccion'=>'Neopatria 21'); Nota:Cabe destacar que PHP no solo se limita a la existencia de matrices por sí solo sino que existen matrices de matrices, o lo que es lo mismo, matrices multidimensionales. Ejemplo: $amigos[2]['Pedro'].

Dimensión de una matriz para administrar la dimension de una matriz usamos.

count(variable)

numero de elementos en la matriz

sizeof(matriz)

alias de count

array_slice(matriz, i, l)

recorta la matriz desde “i”, una cantidad “l” de elementos, y retorna un arreglo resultado

array_shift($matriz)

Quita y retorna un elemento al principio de la matriz

array_push($matriz, valor)

inserta en la “matriz” el “valor”

Eliminar un elemento de matriz o la matriz Para eliminar un elemento o todos los elementos, utilizamos las siguientes funciones.

unset($matriz[5])

unset($matriz)

Navegación sobre matrices Cuando se trata de matrices indexadas la navegación es sencilla ya que tan solo basta acceder al elemento que queremos mostrar, pero al tratarse de alguna matriz asociativa no se puede aplicar el mismo tratamiento. Para ello existen un conjunto de funciones prefabricadas que nos permiten realizar multitud de acciones:Sintaxis Acción

reset(matriz)

El puntero interno vuelve a la primera posición

end(matriz)

El puntero interno va a la última posición

next(matriz)

El puntero va al elemento siguiente

prev(matriz)

Accede al elemento anterior

current(matriz)

Devuelve el contenido del elemento actual

Ordenar una matriz Las matrices pueden ordenarse a partir de los valores almacenados o de los índices (llaves)

sort($matriz)

ordena la matriz a partir de valores almacenados

ksort($matriz)

ordena a partir del índice

asort($matriz)

ordena un arreglo asociativo a partir del valor

3 PHP, Guía 4

Material y Equipo

Guía de laboratorio 2

Servidor web con interprete PHP

Procedimiento

Editar los siguientes códigos ejemplo de PHP:

1) ejemplo_1.php

<?php //imprimiendo matriz

$matriz=array(1,2,3,5);

echo $matriz[2];//imprime 3 ?>

2) ejemplo_2.php

<?php //ordenando un arreglo por $matrizz=array('juan'=>21,'pedro'=>23, 'manuel'=>29,'enrrique'=>51); echo “ordenando matriz por el indice:<br>”; if(ksort($matrizz)){ foreach($matrizz as $key => $val) echo “$key tiene $val a ños<br>”;

}

?>

¿Que retorna la funcion ksort()?

3) ejemplo_3.php

<?php //cuantas filas tiene esta matriz? $matriz = array("unamatriz" => array(6 => 5, 13 => 9, "a" => 42)); echo $matriz["unamatriz"][6]; // 5 echo $matriz["unamatriz"][13]; // 9 echo $matriz["unamatriz"]["a"]; // 42 ?>

¿De cuantas dimensiones es la matriz?

4) ejemplo_4.php

<?php //imprimiendo una matriz $pais=array( “espana”=>array(“nombre”=>”Espana”,”lengua”=>”Castellano”,”moneda”=>”Peseta”), ”francia”=>array(“nombre”=>”Francia”,”lengua”=>”Frances”,”moneda”=>”Franco”), ”inglaterra”=>array(“nombre”=>”inglaterra”,”lengua”=>”ingles”,”moneda”=>”libra”)

);

foreach($pais as $key => $val){ echo “Acerca de $key<br>”; echo “<ul>”; foreach($val as $campo=>$dato) echo “<li>$campo: $dato</li>”; echo “</ul>”;

}

?>

¿De que tipo es la variable $var?, ¿Que contiene?

Ejercicios

4

PHP, Guía 4

1. Modifique el ejemplo 1 para que recorra la matriz haciendo uso de las funciones nex, prev, end y reset.

2. Modifique los ejemplos 2 y 4 de manera que los arreglos se impriman ordenadamente, por valor y por índice.

3. Modifique el ejemplo 4 de modo que solo se muestren los arreglos de Francia e Inglaterra, haga uso de la función array_slice

4. Modifique el ejemplo 2 de modo que solo se muestre el primero y el ultimo elemento del arreglo, haga uso de las funciones reset, current y end.

Investigacion complementaria

Investigue la manera de hacer una función con PHP. Luego haga una función llamada “ordenar” de ordenamiento por valor que tome como parámetro una matriz numérica y retorne una matriz ordenada(no usar la función sort)

5 PHP, Guía 4

Hoja de cotejo: 4

Guía 4: Matrices en PHP

Alumno:

 

Maquina No:

 
 

Docente:

GL:

Fecha:

 
 

EVALUACION

 
 

%

1-4

5-7

8-10

 

Nota

 

CONOCIMIENTO

Del

Conocimiento

Conocimiento

Conocimiento completo y explicación clara de los fundamentos teóricos

 
 

20

deficiente de

y explicación

al

los

incompleta de

30%

fundamentos

los

teóricos

fundamentos

teóricos

 

APLICACIÓN

Del

       

DEL

40%

CONOCIMIENTO

al

 

60%

 

ACTITUD

         
 

Del

No tiene

Actitud

Tiene actitud

 

15%

actitud

propositiva y

proactiva y

al

proactiva.

con

sus

30%

propuestas no

propuestas

 

aplicables al

son

contenido de

concretas.

 

la guía.

 
 

TOTAL

100%