Diferencia entre revisiones de «Usuario:ManuelRomero/php/arrays/concepto»
De WikiEducator
< Usuario:ManuelRomero | php
Línea 70: | Línea 70: | ||
</source> | </source> | ||
;Recorrer un array | ;Recorrer un array | ||
− | *Tenemos | + | *Tenemos difernetes modos de recorre un array, pues el entorno nos ofrece diferentes modos |
count() | count() | ||
*Es una función que nos dice cuantos elementos tiene un array | *Es una función que nos dice cuantos elementos tiene un array | ||
*Vamos a usarla con un ejemplo | *Vamos a usarla con un ejemplo | ||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Actividad| | {{Actividad| | ||
*Creamos 10 notas aleatorias, y posteriormente las visualizamos | *Creamos 10 notas aleatorias, y posteriormente las visualizamos | ||
Línea 100: | Línea 95: | ||
*Existen muchas funciones asociadas a los arrays | *Existen muchas funciones asociadas a los arrays | ||
*count($array) me da el número de elementos | *count($array) me da el número de elementos | ||
+ | {{Tarea| | ||
+ | Define un array de 5 ciudades y recorrelo con un bucle for usando count() | ||
+ | }} | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | //defino e inicializo el vector | ||
+ | $ciudades[0]="Valencia"; | ||
+ | $ciudades[]="Teruel"; | ||
+ | $ciudades[]="Burgos"; | ||
+ | $ciudades[]="Zaragoza"; | ||
+ | $ciudades[]="Huesca"; | ||
+ | |||
+ | //Obtengo el número de elementos | ||
+ | $num= count($ciudades); | ||
+ | echo "hay $num ciudades"; | ||
+ | for ($n=0; $n<$num; $n++){ | ||
+ | echo "ciudad $n es $ciudades[$n]<br>"; | ||
+ | } | ||
+ | ?> | ||
+ | </source> | ||
===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()''''' | ||
*También podemos usar la fucnion print_r. | *También podemos usar la fucnion print_r. | ||
− | |||
===Funciones para manejar matrices=== | ===Funciones para manejar matrices=== | ||
− | *Tamaño: count(), sizeof() | + | *Tamaño: count(), sizeof() |
*Operador +: concatena dos matrices | *Operador +: concatena dos matrices | ||
− | *Recorrer una matriz | + | *Recorrer una matriz next(), prev(), reset(), current(),key(), reset() |
− | + | *busqueda preg_grep(), array_search(), in_array() | |
− | + | ||
− | reset() | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | *busqueda | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
*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 | ||
− | + | ||
*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 132: | Línea 134: | ||
$modulos2 ["DWES"] | $modulos2 ["DWES"] | ||
</source> | </source> | ||
− | |||
*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 145: | Línea 146: | ||
$ciclos ["DAW"] ["DWES"] | $ciclos ["DAW"] ["DWES"] | ||
</source> | </source> | ||
− | + | *En PHP no es necesario que indiques el tamaño del array antes de crearlo. | |
*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: | ||
Línea 160: | Línea 161: | ||
$modulos2 ["DWES"] = "Desarrollo web en entorno servidor"; | $modulos2 ["DWES"] = "Desarrollo web en entorno servidor"; | ||
</source> | </source> | ||
+ | *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: | ||
+ | <source lang=php> | ||
+ | $modulos1 [ ] = "Programación"; | ||
+ | $modulos1 [ ] = "Bases de datos"; | ||
+ | ... | ||
+ | $modulos1 [ ] = "Desarrollo web en entorno servidor"; | ||
+ | </source> | ||
+ | <div class="slide"> | ||
+ | |||
Línea 168: | Línea 179: | ||
*Mostrar los resultados por pantalla. | *Mostrar los resultados por pantalla. | ||
}} | }} | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $notas = array(); | ||
+ | $tamano = rand(1,50); | ||
+ | //Ahora rellenamos el valor de $tamano posiciones del vector | ||
+ | for ($n=0; $n<$tamano;$n++){ | ||
+ | $notas[$n] = rand(1,10); | ||
+ | } | ||
+ | //recorremos calculando minimo, maximo y media | ||
+ | unset($notas[5]); | ||
+ | //El primer valor del vector inicializa las variables | ||
+ | $min = $notas[0]; | ||
+ | $max = $notas[0]; | ||
+ | $suma = $notas[0]; | ||
+ | for ($n=1; $n<count($notas) ;$n++){ | ||
+ | if ($min>$notas[$n]) | ||
+ | $min=$notas[$n]; | ||
+ | if ($max<$notas[$n]) | ||
+ | $max=$notas[$n]; | ||
+ | $suma+=$notas[$n]; | ||
+ | } | ||
+ | echo "La nota máxima es $max<br>"; | ||
+ | echo "La nota mínima es $min<br>"; | ||
+ | echo "La nota media es es". ($suma/$n); | ||
+ | |||
+ | ?> | ||
+ | |||
+ | </source> | ||
{{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 184: | Línea 223: | ||
**La página debe mostrar, aleatoriamente, 3 imágenes (puedes usar como alternativa la función shuffle ($imagenes) la cuál desordena el vector), o usar un rand para obtener indices aleatorios. | **La página debe mostrar, aleatoriamente, 3 imágenes (puedes usar como alternativa la función shuffle ($imagenes) la cuál desordena el vector), o usar un rand para obtener indices aleatorios. | ||
**Cada 5 segundos ha de refrescarse la página para ir mostrando imágenes distintas (podéis usar, por | **Cada 5 segundos ha de refrescarse la página para ir mostrando imágenes distintas (podéis usar, por | ||
− | 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 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Variables globales Vs superglobales=== | ===Variables globales Vs superglobales=== |
Revisión de 02:47 14 feb 2015