Diferencia entre revisiones de «Usuario:ManuelRomero/php/arrays/concepto»
De WikiEducator
< Usuario:ManuelRomero | php
(9 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
+ | |||
+ | <!--__NOEDITSECTION__--> | ||
+ | |||
+ | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" | ||
+ | | width="100%" valign="top" style="padding: 0; margin:0px;" | | ||
+ | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:1px; border-color:#0066FF;" | ||
+ | | width="100%" valign="top" style="padding: 0; margin:0px;" | | ||
+ | <span style="background:#FFFF99"> | ||
+ | </span> | ||
+ | [[Imagen:DWES_TituloTema3_arryas|center]] | ||
+ | |} | ||
__NOTOC__ | __NOTOC__ | ||
{{#widget:Slides}} | {{#widget:Slides}} | ||
Línea 20: | Línea 31: | ||
<!--2--> | <!--2--> | ||
<div class="slide"> | <div class="slide"> | ||
− | * | + | *Depediendo del valor de la posición podemos clasificar los arraiis de dos tipos |
+ | #'''''Indexado'''''. Cada valor es un entero que indica su posición, empezando por cero. | ||
+ | #'''''Asociativo'''''. El valor de cada posición tiene un significado diferente a la posición que ocupa y puede ser de cualquier tipo | ||
<source lang=php> | <source lang=php> | ||
// array numérico | // array numérico | ||
Línea 27: | Línea 40: | ||
$modulos2 = array("PR" => "Programación", "BD" => "Bases de datos", ..., "DWES" => "Desarrollo web en entorno servidor"); | $modulos2 = array("PR" => "Programación", "BD" => "Bases de datos", ..., "DWES" => "Desarrollo web en entorno servidor"); | ||
</source> | </source> | ||
− | [[Archivo:array2PHP.png]] | + | </div> |
+ | |||
+ | <!--1--> | ||
+ | <div class="slide"> | ||
+ | ;Arrays asociativos Vs indexados | ||
+ | [[Archivo:array2PHP.png|center]] | ||
</div> | </div> | ||
Línea 33: | Línea 51: | ||
<div class="slide"> | <div class="slide"> | ||
===Array numéricos o indexados=== | ===Array numéricos o indexados=== | ||
− | + | *Clasificación en función de la clave que llevan | |
− | + | #Clave numérica posicional : La clave especifica la posicion de cada elemento | |
+ | #Clave con valor: La clave tiene un significado por sí mismo y tiene '''asociado''' un valor | ||
+ | ;Arrays indexados | ||
:En los arrays numéricos empezamos por 0 | :En los arrays numéricos empezamos por 0 | ||
:En funcion del tipo de índices que tenga puede ser unidimensional o multidimensional (varios índices). | :En funcion del tipo de índices que tenga puede ser unidimensional o multidimensional (varios índices). | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ===Trabajar con un array=== | ||
+ | *A la hora de trabajar con arrays, hay que saber operar con ellos | ||
+ | #Crear o definir un array | ||
+ | #Asignar, agregar valores al array | ||
+ | #Leer elementos del array | ||
+ | #Borrar elementos del array | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
====Crear un array==== | ====Crear un array==== | ||
*Podemos usar el operador '''''array();''''' | *Podemos usar el operador '''''array();''''' | ||
Línea 43: | Línea 77: | ||
*En php no hay que especificar ni índice ni lógicamente tipo | *En php no hay que especificar ni índice ni lógicamente tipo | ||
*El array como hemos comentado va a ser un conjunto de elementos, cada tipo de cada elemento dependerá del valor que contenga en cada momento , y por supuesto puede ser modificado (tanto el valor como el tipo). | *El array como hemos comentado va a ser un conjunto de elementos, cada tipo de cada elemento dependerá del valor que contenga en cada momento , y por supuesto puede ser modificado (tanto el valor como el tipo). | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Crear un array | ||
<source lang=php> | <source lang=php> | ||
/* | /* | ||
Línea 57: | Línea 96: | ||
</source> | </source> | ||
− | ==== | + | </div> |
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ====Escribir en un array==== | ||
*Simplemento hay que asignar un valor a una posición del array | *Simplemento hay que asignar un valor a una posición del array | ||
*Al ser indexado, si no se pone valor en índice se pondrá una unidad más al último valor asignado | *Al ser indexado, si no se pone valor en índice se pondrá una unidad más al último valor asignado | ||
Línea 69: | Línea 112: | ||
$notas [] =6; | $notas [] =6; | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Escribir en un array | ||
*Podemos ver gráficamente como queda el array | *Podemos ver gráficamente como queda el array | ||
[[Archivo:arrayNotas.png]] | [[Archivo:arrayNotas.png]] | ||
*En realidad las posiciones no especificadas no existen | *En realidad las posiciones no especificadas no existen | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
[[Archivo:arrayNotas2.png]] | [[Archivo:arrayNotas2.png]] | ||
*Vemos como la posición 2,3 y 4 no van a existir con valores en el array | *Vemos como la posición 2,3 y 4 no van a existir con valores en el array | ||
Línea 78: | Línea 130: | ||
$notas[2]= 8; | $notas[2]= 8; | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
===Leer un array=== | ===Leer un array=== | ||
*Hemos de diferenciar entre dos conceptos | *Hemos de diferenciar entre dos conceptos | ||
Línea 86: | Línea 142: | ||
echo "la nota última es $nota[7]"; | echo "la nota última es $nota[7]"; | ||
</source> | </source> | ||
+ | |||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
;Recorrer un array | ;Recorrer un array | ||
*Tenemos difernetes modos de recorre un array, pues el entorno nos ofrece diferentes modos | *Tenemos difernetes modos de recorre un array, pues el entorno nos ofrece diferentes modos | ||
Línea 97: | Línea 158: | ||
//mostrará 5 ciudades | //mostrará 5 ciudades | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Recorrer un array | ||
*Vamos a usarla con un ejemplo | *Vamos a usarla con un ejemplo | ||
− | {{ | + | {{MRM_Actividad| |
*Creamos 10 notas aleatorias, y posteriormente las visualizamos | *Creamos 10 notas aleatorias, y posteriormente las visualizamos | ||
*Sacamos la máxima la mínima y la media}} | *Sacamos la máxima la mínima y la media}} | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | //Creo la variable array de notas | ||
+ | $notas=[]; | ||
+ | |||
+ | |||
+ | //Relleno el array con 10 notas | ||
+ | //$notas = array_fill(0, 10,rand(1,10)); | ||
+ | for ($a=0;$a<10;$a++) | ||
+ | $notas[$a]=rand(1,10); | ||
+ | |||
+ | |||
+ | $min = $notas[0]; | ||
+ | $max = $notas[0]; | ||
+ | for ($a=0;$a<10;$a++){ | ||
+ | echo "Valor de la posición $a = ". $notas[$a]."<br />"; | ||
+ | $total+=$notas[$a]; | ||
+ | $min = $notas[$a]<$min ? $notas[$a] : $min; | ||
+ | $max = $notas[$a]>$max ? $notas[$a] : $max; | ||
+ | } | ||
+ | |||
+ | |||
+ | echo "Valor de la nota media ".($total/10)."<br />"; | ||
+ | echo "Valor minimo".$min."<br />"; | ||
+ | echo "Valor maximo ".$max."<br />"; | ||
+ | </source> | ||
+ | |||
+ | |||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Recorrer un array | ||
*Vemos que si todos los elementos están seguidos este funciona bien, pero si no es así no funcioría correctamete | *Vemos que si todos los elementos están seguidos este funciona bien, pero si no es así no funcioría correctamete | ||
{{Pregunta|¿Por qué no conviene usar la función count}} | {{Pregunta|¿Por qué no conviene usar la función count}} | ||
Línea 107: | Línea 206: | ||
$capital ["españa"=>"madrid", "italia"=>"roma","Alemania"=>"Berlin"]; | $capital ["españa"=>"madrid", "italia"=>"roma","Alemania"=>"Berlin"]; | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Recorrer un array | ||
*Es lo mismo que hacer | *Es lo mismo que hacer | ||
<source lang=php> | <source lang=php> | ||
Línea 117: | Línea 221: | ||
$capitales["Alemania"]="Berlin"; | $capitales["Alemania"]="Berlin"; | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
*Existen muchas funciones asociadas a los arrays | *Existen muchas funciones asociadas a los arrays | ||
− | + | count($array) | |
+ | :me da el número de elementos. | ||
{{Tarea| | {{Tarea| | ||
Define un array de 5 ciudades y recorrelo con un bucle for usando count() | Define un array de 5 ciudades y recorrelo con un bucle for usando count() | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 139: | Línea 252: | ||
?> | ?> | ||
</source> | </source> | ||
+ | </div> | ||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
===Ver el contenido de un array=== | ===Ver el contenido de un array=== | ||
*Podemos usar la función ya conocida '''''var_dump()''''' | *Podemos usar la función ya conocida '''''var_dump()''''' | ||
Línea 150: | Línea 266: | ||
*Ordenar sort() | *Ordenar sort() | ||
*Aquí tenemos un listado de todas las funciones, hay muchas muchas http://es1.php.net/manual/en/ref.array.php | *Aquí tenemos un listado de todas las funciones, hay muchas muchas http://es1.php.net/manual/en/ref.array.php | ||
+ | </div> | ||
− | + | <!--2--> | |
− | + | <div class="slide"> | |
*Para hacer referencia a los elementos almacenados en un array, tienes que utilizar el valor clave entre corchetes: | *Para hacer referencia a los elementos almacenados en un array, tienes que utilizar el valor clave entre corchetes: | ||
<source lang=php> | <source lang=php> | ||
Línea 158: | Línea 275: | ||
$modulos2 ["DWES"] | $modulos2 ["DWES"] | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
*Es interesante recordar que en PHP puedes crear también arrays de varias dimensiones almacenando otro array en cada uno de los elementos de un array. | *Es interesante recordar que en PHP puedes crear también arrays de varias dimensiones almacenando otro array en cada uno de los elementos de un array. | ||
<source lang=php> | <source lang=php> | ||
Línea 166: | Línea 287: | ||
); | ); | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
*Para hacer referencia a los elementos almacenados en un array multidimensional, debes indicar las claves para cada una de las dimensiones: | *Para hacer referencia a los elementos almacenados en un array multidimensional, debes indicar las claves para cada una de las dimensiones: | ||
<source lang=php> | <source lang=php> | ||
Línea 173: | Línea 298: | ||
*Ni siquiera es necesario indicar que una variable concreta es de tipo array. | *Ni siquiera es necesario indicar que una variable concreta es de tipo array. | ||
*Como ya hemos visto, simplemente puedes comenzar a asignarle valores: | *Como ya hemos visto, simplemente puedes comenzar a asignarle valores: | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
<source lang=php> | <source lang=php> | ||
// array numérico | // array numérico | ||
Línea 185: | Línea 314: | ||
$modulos2 ["DWES"] = "Desarrollo web en entorno servidor"; | $modulos2 ["DWES"] = "Desarrollo web en entorno servidor"; | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
*En PHP tampoco es necesario que especifiques el valor de la clave. | *En PHP tampoco es necesario que especifiques el valor de la clave. | ||
*Al omitirla el array se irá llenando a partir de la última clave numérica existente, o de la posición 0 si no existe ninguna: | *Al omitirla el array se irá llenando a partir de la última clave numérica existente, o de la posición 0 si no existe ninguna: | ||
Línea 193: | Línea 326: | ||
$modulos1 [ ] = "Desarrollo web en entorno servidor"; | $modulos1 [ ] = "Desarrollo web en entorno servidor"; | ||
</source> | </source> | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | |||
− | |||
− | |||
− | |||
{{Tarea| | {{Tarea| | ||
*Generar un array de 10 posiciones de valores enteros entre 1 y 100. | *Generar un array de 10 posiciones de valores enteros entre 1 y 100. | ||
Línea 203: | Línea 333: | ||
*Mostrar los resultados por pantalla. | *Mostrar los resultados por pantalla. | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | <!-- | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 232: | Línea 367: | ||
</source> | </source> | ||
+ | --> | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
{{Tarea| | {{Tarea| | ||
*Implementar una función que busca si un determinado valor aparece en una matriz. | *Implementar una función que busca si un determinado valor aparece en una matriz. | ||
Línea 241: | Línea 381: | ||
#Mostrar los resultados por pantalla. | #Mostrar los resultados por pantalla. | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
{{Tarea| | {{Tarea| | ||
'''''Random Images''''' | '''''Random Images''''' | ||
Línea 249: | Línea 393: | ||
ejemplo, este trozo de código HTML y añadirlo en el <HEAD> de la página | ejemplo, este trozo de código HTML y añadirlo en el <HEAD> de la página | ||
}} | }} | ||
+ | <source lang=html5> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"/> | ||
+ | <meta http-equiv="refresh" content="5" url="index.php"/> | ||
+ | <title></title> | ||
+ | </head> | ||
+ | </div> | ||
+ | </source> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
===Variables globales Vs superglobales=== | ===Variables globales Vs superglobales=== | ||
Línea 256: | Línea 411: | ||
*El desarrollador tiene acceso a dichas variables en cualquier momento del script. | *El desarrollador tiene acceso a dichas variables en cualquier momento del script. | ||
*El sistema se encarga de tenerlas actualizadas, con el valor correspondiente | *El sistema se encarga de tenerlas actualizadas, con el valor correspondiente | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | ;Superglobales | ||
*PHP incluye unas Son variables internas predefinidas que pueden usarse desde cualquier ámbito, por lo que reciben el nombre de variables superglobales. | *PHP incluye unas Son variables internas predefinidas que pueden usarse desde cualquier ámbito, por lo que reciben el nombre de variables superglobales. | ||
*No es necesario que uses global para acceder a ellas. | *No es necesario que uses global para acceder a ellas. | ||
Línea 262: | Línea 422: | ||
*Posteriormente veremos cómo se utilizan los arrays). | *Posteriormente veremos cómo se utilizan los arrays). | ||
*Aquí puedes acceder a las variables [http://es.php.net/manual/es/language.variables.superglobals.php superglobales] disponibles en PHP se pueden ver son las siguientes: | *Aquí puedes acceder a las variables [http://es.php.net/manual/es/language.variables.superglobals.php superglobales] disponibles en PHP se pueden ver son las siguientes: | ||
− | + | </div> | |
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ;Superglobales (Algunas principales) | ||
#$GLOBALS Hace referencia a todas las variables disponibles en el ámbito global | #$GLOBALS Hace referencia a todas las variables disponibles en el ámbito global | ||
#$_SERVER Información del entorno del servidor y de ejecución | #$_SERVER Información del entorno del servidor y de ejecución | ||
Línea 272: | Línea 437: | ||
#$_REQUEST Variables HTTP REQUEST. Un array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE. | #$_REQUEST Variables HTTP REQUEST. Un array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE. | ||
#$_ENV | #$_ENV | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
*Analizaremos una de ellas | *Analizaremos una de ellas | ||
;$_SERVER. | ;$_SERVER. | ||
Línea 282: | Línea 451: | ||
#$_SERVER['REMOTE_ADDR']:dirección IP desde la que el usuario está viendo la página. | #$_SERVER['REMOTE_ADDR']:dirección IP desde la que el usuario está viendo la página. | ||
#$_SERVER['REQUEST_METHOD']:método utilizado para acceder a la página ('GET', 'HEAD', 'POST' o 'PUT') | #$_SERVER['REQUEST_METHOD']:método utilizado para acceder a la página ('GET', 'HEAD', 'POST' o 'PUT') | ||
+ | </div> | ||
+ | |||
+ | <!--2--> | ||
+ | <div class="slide"> | ||
{{Actividad| Haz un script que nos de la información de las variables vistas anteriormente}} | {{Actividad| Haz un script que nos de la información de las variables vistas anteriormente}} | ||
+ | <!-- | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 292: | Línea 466: | ||
?> | ?> | ||
</source> | </source> | ||
+ | --> | ||
+ | </div> | ||
+ | |} |
Última revisión de 00:23 26 oct 2016
|