Diferencia entre revisiones de «Usuario:ManuelRomero/php/dwes/B2T1/arrays/ejercicios»
De WikiEducator
< Usuario:ManuelRomero | php
(19 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | |||
− | |||
− | |||
{{:Usuario:ManuelRomero/dwes/B2T1/arrays/nav}} | {{:Usuario:ManuelRomero/dwes/B2T1/arrays/nav}} | ||
+ | __NOTOC__ | ||
+ | {{Actividad|Title=Array de 5 ciudades| | ||
+ | Crea un array indexado con 5 valores de ciudades y recórrelo con un for}} | ||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio2 | Solución]]</font> | ||
+ | --> | ||
+ | <hr/> | ||
+ | {{MRM_Actividad|Crea un array con 10 notas aleatorias y posteriormente las visualizas obteniendo los valores | ||
+ | estadísticos de la media, máxima y mínima}} | ||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio3 | Solución]]</font> | ||
+ | <hr/> | ||
+ | --> | ||
+ | {{MRM_Actividad|Crea un array con imagenes aleatorias y luego haz que se carguen cada 5 segundos de forma aleatoria}} | ||
+ | |||
+ | {{Tip|Para recargar de forma periódica la página pasados unos segundos podemos usar el meta de html | ||
+ | <source lang=html5> | ||
+ | <META HTTP-EQUIV=Refresh CONTENT="5; URL=vuestra_pagina.php"> | ||
+ | </source> | ||
+ | }} | ||
+ | <source lang=php> | ||
+ | "https://image.shutterstock.com/image-photo/young-woman-skateboarder-skateboarding-city-600w-664570948.jpg" | ||
+ | "https://gratisography.com/wp-content/uploads/2019/05/shutterstock-its-not-stock-block-new.jpg" | ||
+ | "https://www.cerotec.net/data/fotos/gratisography.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/09/29/20/34/athens-4514311__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/10/24/18/36/forest-4574893__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2015/09/26/13/25/halloween-959049__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/09/11/09/27/people-4468350__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/10/23/18/58/malai-4572548__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/06/25/05/19/waterfall-4297450__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/10/23/10/47/aesthetic-4571211__340.jpg" | ||
+ | "https://cdn.pixabay.com/photo/2019/10/23/18/32/freudenberg-4572410__340.jpg" | ||
+ | </source> | ||
+ | <!-- | ||
+ | {{Plegable|hide|Posible solución| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | //Inicializamos el array de imágenes | ||
+ | $array = ["http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/a_piece_for_the_wicked_vol_1.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/double_t.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/flagrantly_yours.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/gothic.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/iliad_of_a_wolverhampton_wanderer.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/libertine.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/lullabies_for_tough_guys.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/nocturnal_nomad.jpg", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/the_idle_gait_of_the_self_possessed.gif", | ||
+ | "http://www.tecn.upf.es/~ocelma/cpom/practicas/php/random_images/discography/the_life_and_times_of_a_ballad_monger.jpg" | ||
+ | ]; | ||
+ | |||
+ | $ind1 = rand(0, count($array) - 1); | ||
+ | $ind2 = rand(0, count($array) - 1); | ||
+ | $ind3 = rand(0, count($array) - 1); | ||
+ | ?> | ||
+ | --> | ||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio4 | Solución]]</font> | ||
+ | <hr/> | ||
+ | --> | ||
+ | ===Tienda de verduras=== | ||
+ | Dada una tienda de verduras con los siguientes productos | ||
+ | $productos = [ | ||
+ | 'lechuga' => ['unidades' => 200, | ||
+ | 'precio' => 0.90], | ||
+ | 'tomates' =>['unidades' => 2000, | ||
+ | 'precio' => 2.15], | ||
+ | 'cebollas' =>['unidades' => 3200, | ||
+ | 'precio' => 0.49], | ||
+ | 'fresas' =>['unidades' => 4800, | ||
+ | 'precio' => 4.50], | ||
+ | 'manzanas' =>['unidades' => 2500, | ||
+ | 'precio' => 2.10], | ||
+ | ]; | ||
+ | *Realiza una aplicación con un formulario para poder comprar productos | ||
+ | *Tras la compra se visualizará la factura del producto siempre que haya unidades | ||
+ | *Se mostrará las unidades que quedan de cada producto | ||
+ | |||
+ | ===Contar accesos de usuarios identificados=== | ||
+ | <br /> | ||
+ | {{Actividad| | ||
+ | ;Creamos una aplicación dónde los usuarios se identifican (una caja de texto para identificarse) | ||
+ | :Luego iremos contando cada vez que un usuario hace un click | ||
+ | <!-- | ||
+ | {{Plegable|hide|Posible solución| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | //Si hemos dado a enviar leemos el nombre de usuario y los accesos anteriores (Array nombre:entero acceso | ||
+ | if (isset($_POST['enviar'])) { | ||
+ | $nombre = $_POST['nombre']; | ||
+ | $accesos = $_POST['accesos']; //La primera vez estará vacíon | ||
+ | $accesos[$nombre] ++; //Agregamos en el array el nombre y el acceso actual | ||
+ | //Esta instrucción si no existe ese nombre en el array lo crea | ||
+ | //Si sí que existe, accede a él e incremente a uno su contenido | ||
+ | // (nombre es el índice del array) | ||
+ | } | ||
+ | ?> | ||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <form action="index.php" method=POST> | ||
+ | |||
+ | Usuario <input type="text" name="nombre" id=""> | ||
+ | <?php | ||
+ | //Mostramos el array | ||
+ | foreach ($accesos as $nombre => $acceso) | ||
+ | echo "<input type='hidden' name= accesos[$nombre] value = $acceso>\n" | ||
+ | ?> | ||
+ | |||
+ | <input type="submit" value="Acceder" name="enviar"> | ||
+ | </form> | ||
+ | <?php | ||
+ | //Guardamos el array para leerlo la próxima vez | ||
+ | if (isset($accesos)) | ||
+ | foreach ($accesos as $nombre => $acceso) | ||
+ | echo "<h1> $nombre : $acceso </h1>\n"; | ||
+ | ?> | ||
+ | </body> | ||
+ | </html> | ||
+ | </source> | ||
+ | |||
+ | }} | ||
+ | --> | ||
+ | }} | ||
+ | |||
;Vamos a realizar un recorrido de un array asociativo de varios niveles. | ;Vamos a realizar un recorrido de un array asociativo de varios niveles. | ||
:Realizaremos un estudio del array y luego lo recorreremos | :Realizaremos un estudio del array y luego lo recorreremos | ||
Línea 19: | Línea 144: | ||
[[/Usuario:ManuelRomero/php/dwes/B2T1/arrays/ejercicios|Contenido del ArrayAsociativo.php]] | [[/Usuario:ManuelRomero/php/dwes/B2T1/arrays/ejercicios|Contenido del ArrayAsociativo.php]] | ||
====Planteando la solución==== | ====Planteando la solución==== | ||
+ | |||
===Contenido del array=== | ===Contenido del array=== | ||
Línea 46: | Línea 172: | ||
'''''title link''''' | '''''title link''''' | ||
*La posición '''''title''''' es un string con el título de la canción | *La posición '''''title''''' es un string con el título de la canción | ||
− | * | + | *La posición '''''link''''' es un string con un url donde se puede oir la canción (Actualmente ya no están alojadas en esa posición) |
− | + | <!-- | |
− | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio1 | Solución]]</font> | + | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio1 | Solución]]</font> |
<hr /> | <hr /> | ||
+ | --> |
Última revisión de 00:00 29 oct 2019
Tip: Para recargar de forma periódica la página pasados unos segundos podemos usar el meta de html
<META HTTP-EQUIV=Refresh CONTENT="5; URL=vuestra_pagina.php">
"https://image.shutterstock.com/image-photo/young-woman-skateboarder-skateboarding-city-600w-664570948.jpg" "https://gratisography.com/wp-content/uploads/2019/05/shutterstock-its-not-stock-block-new.jpg" "https://www.cerotec.net/data/fotos/gratisography.jpg" "https://cdn.pixabay.com/photo/2019/09/29/20/34/athens-4514311__340.jpg" "https://cdn.pixabay.com/photo/2019/10/24/18/36/forest-4574893__340.jpg" "https://cdn.pixabay.com/photo/2015/09/26/13/25/halloween-959049__340.jpg" "https://cdn.pixabay.com/photo/2019/09/11/09/27/people-4468350__340.jpg" "https://cdn.pixabay.com/photo/2019/10/23/18/58/malai-4572548__340.jpg" "https://cdn.pixabay.com/photo/2019/06/25/05/19/waterfall-4297450__340.jpg" "https://cdn.pixabay.com/photo/2019/10/23/10/47/aesthetic-4571211__340.jpg" "https://cdn.pixabay.com/photo/2019/10/23/18/32/freudenberg-4572410__340.jpg"
Tienda de verduras
Dada una tienda de verduras con los siguientes productos $productos = [
'lechuga' => ['unidades' => 200, 'precio' => 0.90], 'tomates' =>['unidades' => 2000, 'precio' => 2.15], 'cebollas' =>['unidades' => 3200, 'precio' => 0.49], 'fresas' =>['unidades' => 4800, 'precio' => 4.50], 'manzanas' =>['unidades' => 2500, 'precio' => 2.10],
];
- Realiza una aplicación con un formulario para poder comprar productos
- Tras la compra se visualizará la factura del producto siempre que haya unidades
- Se mostrará las unidades que quedan de cada producto
Contar accesos de usuarios identificados
- Vamos a realizar un recorrido de un array asociativo de varios niveles.
- Realizaremos un estudio del array y luego lo recorreremos
|
- Puedes ver este ejercico en esta url de donde está adaptado http://www.tecn.upf.es/~ocelma/cpom/practicas/ es el ejercicio 12
- Ficheros
Artista.pdf Este fichero es un css para el ejercicios
Contenido del ArrayAsociativo.php
Planteando la solución
Contenido del array
- Para ver el array una buena forma es cargarlo en un fichero php y hacer o bien un var_dump o bien un print_r
<?php require_once ("datos.php"); var_dump( $artistas ); ?>
- A partir de él podemos mostrar la siguiente imagen que describe el aray
- Observamos que en primera instancia tengo un array asociativo de 6 índices cuyos valores son
185711, 32841, 84062, 84430, 84221, 118504
- Cada posición tiene como valor un array asociativo de 4 posiciones cuyos índices tiene los valores
name decades link canciones
- La posición name directamente tiene un valor string que es el nombre del artista
- La posición decades tiene un valor string que es la década de ese cantante
- La posición link tiene un valor string que es un url a una página con información sobre el artista
- La posición canciones es un array indexado de tantas posicione como canciones tenga el artista
- Cada posición del array indexado canciones es un array asociativo con dos índices
title link
- La posición title es un string con el título de la canción
- La posición link es un string con un url donde se puede oir la canción (Actualmente ya no están alojadas en esa posición)