Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/ejercicios»
De WikiEducator
(Página creada con «{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/nav}}») |
|||
(19 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/nav}} | {{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2021/Arrays/nav}} | ||
+ | __NOTOC__ | ||
+ | |||
+ | |||
+ | {{Actividad|Title=Array de colores| | ||
+ | ;Creamos un array con 5 colores y posteriormente mostramos un título con cada uno de esos colores | ||
+ | {{plegable|hide|posible solución| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | //Declaramos el array | ||
+ | $colores = ["red", "green", "yellow", "blue", "brown"]; | ||
+ | ?> | ||
+ | |||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <meta name="viewport"> | ||
+ | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | |||
+ | <h1>Vamos a mostrar un título en diferentes colores</h1> | ||
+ | |||
+ | <!-- | ||
+ | {{Plegable|hide|Posible solución| | ||
+ | }} | ||
+ | |||
+ | |||
+ | <?php | ||
+ | //Recorremos el array y mostramos un título con cada uno de los colores | ||
+ | foreach ($colores as $posicion=> $color) { | ||
+ | echo "<h1 style='color:$color'> Título $posicion en color $color </h1>"; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | {{Actividad|Title=Selecionar un elemento aleatorio de un array| | ||
+ | ;En el caso anterior, seleccionamos un elemento aleatorio del array y mostramos de ese color el título | ||
+ | {{plegable|hide|posible solución| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | <?php | ||
+ | //Declaramos el array | ||
+ | $colores = ["red", "green", "yellow", "blue", "brown"]; | ||
+ | $colores[]="black"; | ||
+ | |||
+ | //creo una posición alaeatoria del array | ||
+ | $posicion = rand(0,sizeof( $colores )-1); | ||
+ | |||
+ | |||
+ | ?> | ||
+ | |||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <meta name="viewport" | ||
+ | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | |||
+ | <h1>Vamos a mostrar un título en diferentes colores</h1> | ||
+ | |||
+ | <?php | ||
+ | //Recorremos el array y mostramos un título con cada uno de los colores | ||
+ | echo "<h1 style='color:$colores[$posicion]'> | ||
+ | Título $posicion en color $colores[$posicion] </h1>"; | ||
+ | |||
+ | ?> | ||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio1|Ejercicio 1 : Recorrer un array básico]]=== | ||
+ | <br /> | ||
+ | {{Actividad|Title=Ejercicio 1: Recorrer una array básico| | ||
+ | *Crea un array indexado con 5 valores de países y recórrelo con un for | ||
+ | *Ahora crea un array con 5 países como índice y sus correspondiente capitales como valores | ||
+ | *Después recorrelo con un foreach | ||
+ | }} | ||
+ | |||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio2 | Solución]]</font> | ||
+ | --> | ||
+ | <hr/> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio2|Ejercicio 2 : Manipulando un array]]=== | ||
+ | |||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 2: Manipulando un array| | ||
+ | ;Asignando y elmininando valores | ||
+ | *Creamos un array asingnándole 5 valores de forma indexada | ||
+ | *Asigna valores entero, cadenas, y la quinta posición que sea otro array de tres elementos | ||
+ | *Lo visualizamos con un '''''var_dump''''' | ||
+ | *Agregamos valores en posiciones 15 y 30 | ||
+ | *Lo visualizamos con un '''''var_dump''''' | ||
+ | *Eliminamos los índices vacíos de forma que quede compacto (sin usar funciones) | ||
+ | **Es decir las desaparecen las posiciones 15 y 30 | ||
+ | **Sus valores se mantienen en las posicones 5 y 6 | ||
+ | }} | ||
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio3|Ejercicio 3 : Crear un array de notas]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 3 : Crear un array de notas| | ||
+ | Crea un array con 10 notas aleatorias y posteriormente las visualizas obteniendo los valores estadísticos de la media, máxima y mínima | ||
+ | *Hazlo de forma algorítmica, sin usar funciones de arrays | ||
+ | }} | ||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio3 | Solución]]</font> | ||
+ | <hr/> | ||
+ | --> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio4|Ejercicio 4 : Usando funciones de arrays]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 4 : Usando funciones de array| | ||
+ | Repite el ejercicio anterior usando funciones para todas las acciones | ||
+ | |||
+ | *Crea un array de notasde 15 alumnos Inicializadas con 0 | ||
+ | *Asiga a cada nota un valor aleatorio entre 5 y 10 | ||
+ | *Visualiza el array y verfica sus valores | ||
+ | *Obtener la nota máxima, la mínima y la media del array | ||
+ | ;Ahora continuamos usando más funciones vistas en la teoría | ||
+ | *Crea otro array de notas de 15 alumnos con notas entre 0 y 5 | ||
+ | *Junta los dos array en uno solo | ||
+ | *Vuelve a realizar las acciones anteriores (max, min y media) | ||
+ | *Recorre el array con un foreach | ||
+ | *REaliza el recorrido con las funciones de recorrido especificadas anteriormente, mostrando en cada caso el ínice y valor (next, reset, current, key) | ||
+ | *Busca el primer 10 en el array y devuelve su posición | ||
+ | *Confirma si hay un 7 y un 4 como valores dentro del array | ||
+ | *Ordena el array ascendentemente y muéstralo | ||
+ | *Ordena el array descendentemente y muéstralo | ||
+ | *Elimina valores repetidos y muéstralos | ||
+ | |||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio5|Ejercicio 5 : Imágenes aleatorias]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 5 : Imágenes aleatorias| | ||
+ | *Crea un array con imagenes aleatorias y luego haz que se carguen cada 5 segundos de forma aleatoria. | ||
+ | *Es muy importante que las 3 imágenes no se puedan repetir, que sean diferentes | ||
+ | |||
+ | {{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> | ||
+ | ;Como array de imágenes podemos tomar estas: | ||
+ | <source lang=php> | ||
+ | $array=[ | ||
+ | "https://es.wikieducator.org/images/3/3d/Ajax_cliente_servidor.png", | ||
+ | |||
+ | "https://es.wikieducator.org/images/7/7b/Funcionamiento_ajax.png", | ||
+ | "https://es.wikieducator.org/images/a/aa/Angular_app_base.png", | ||
+ | "https://es.wikieducator.org/images/3/3d/Docker_distancia_1.png", | ||
+ | |||
+ | "https://es.wikieducator.org/images/4/4e/Opcion_Instalar.png", | ||
+ | "https://es.wikieducator.org/images/a/ab/AplicacionWeb.png", | ||
+ | "https://es.wikieducator.org/images/e/e4/Red3.png", | ||
+ | "https://es.wikieducator.org/images/f/f2/DACTW.png", | ||
+ | "https://es.wikieducator.org/images/e/e5/M3_web.png", | ||
+ | "https://es.wikieducator.org/images/a/a6/Ficheros.jpeg"]; | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio6|Ejercicio 6 : Tienda de verduras]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 6 : Tienda de verduras| | ||
+ | Dada una tienda de verduras con los siguientes productos | ||
+ | <source lang=php> | ||
+ | $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], | ||
+ | ]; | ||
+ | </source> | ||
+ | *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 | ||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio7|Ejercicio 7 : Accesos de usuario]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 7 : Accesos de usuario| | ||
+ | ;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> | ||
+ | |||
+ | }} | ||
+ | --> | ||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio8|Ejercicio 8 : Array multinivel]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 8 : Array multinivel| | ||
+ | ;Vamos a realizar un recorrido de un array asociativo de varios niveles. | ||
+ | :Realizaremos un estudio del array y luego lo recorreremos | ||
+ | |||
+ | ;Dado un fichero que contiene un array asociativo | ||
+ | ;El array contiene información de cantantes y de cada cantante su nombre, su década y canciones que tiene | ||
+ | :Se trata que trabajes en dos aspectos que se complementas | ||
+ | #Entender y explicar el contenido del array, es decir si es asociativo o indexado y los indices que tiene. Si una posición es un array a su vez procedemos a explicarlo igualmente | ||
+ | #Posteriormente lo recorreremos mostrando información de los cantantes y para cantante sus canciones | ||
+ | ::Para hacer esta parte facilito un pequeño css y consistiría en aplicar el div cantante y el div canciones | ||
+ | |||
+ | ;Ficheros | ||
+ | |||
+ | [http://es.wikieducator.org/images/7/71/Artista.pdf Artista.pdf] Este fichero es un css para el ejercicios | ||
+ | [[/Usuario:ManuelRomero/php/dwes/B2T1/arrays/ejercicios|Contenido del ArrayAsociativo.php]] | ||
+ | {{Plegable|hide|datos.php| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | |||
+ | $artistas = array( | ||
+ | 185711 => array( | ||
+ | "name" => 'Pearl Jam', | ||
+ | "decades" => '(1990,2000)', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=Pearl+Jam&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'NO WAY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/yield/03-no_way.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'HUMMUS', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/yield/14-hummus.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'LEASH', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/vs./11-leash.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'GIVEN TO FLY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/10-given_to_fly.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'NOTHING AS IT SEEMS', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/13-nothing_as_it_seems.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'SAVE YOU', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/16-save_you.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'EVEN FLOW', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/03-even_flow.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'ANIMAL', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/06-animal.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'REARVIEWMIRROR', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/09-rearviewmirror.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'SPIN THE BLACK CIRCLE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/p/pearl_jam/rearviewmirror_greatest_hits_199/10-spin_the_black_circle.mp3', | ||
+ | ), | ||
+ | ) | ||
+ | ), | ||
+ | 32841 => array( | ||
+ | "name" => 'Bo Diddley', | ||
+ | "decades" => '(1950,1960,1970,1980,1990,2000)', | ||
+ | "city" => 'McComb', | ||
+ | "country" => 'US', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=Bo+Diddley&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'WHO DO YOU LOVE?', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/03-who_do_you_love%3F.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'ROAD RUNNER', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/06-road_runner.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'YOU CAN\'T JUDGE A BOOK BY IT\'S COVER', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/08-you_can_t_judge_a_book_by_it_s_c.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'OOH BABY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/guitar_legends/10-ooh_baby.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'DIDDLEY DADDY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/martin_scorsese_presents_the_blu/14-diddley_daddy.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'WHO DO YOU LOVE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/martin_scorsese_presents_the_blu/19-who_do_you_love.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'I\'M A MAN', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/b/bo_diddley/chess_blues_classics_1947_-_1956/12-i_m_a_man.mp3', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | 84062 => array( | ||
+ | "name" => 'The Cult', | ||
+ | "decades" => '(1980,1990,2000)', | ||
+ | "city" => 'Bradford', | ||
+ | "country" => 'GB', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=The+Cult&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'THE WITCH (EDIT)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/05-the_witch_edit.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'REVOLUTION (EDIT)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/06-revolution_edit.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'LOVE REMOVAL MACHINE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/07-love_removal_machine.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'RAIN', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/08-rain.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'IN THE CLOUDS', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/09-in_the_clouds.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'COMING DOWN (EDIT)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/10-coming_down_edit.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'EDIE (CIAO BABY) [EDIT]', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/11-edie_ciao_baby_%5Bedit%5D.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'HEART OF SOUL (EDIT)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/12-heart_of_soul_edit.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'WILD FLOWER', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/13-wild_flower.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'STAR (EDIT)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/the_cult/pure_cult_-_the_singles_1984-199/14-star_edit.mp3', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | 84430 => array( | ||
+ | "name" => 'Twisted Sister', | ||
+ | "decades" => '(1970,1980)', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=Twisted+Sister&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'LET THE GOOD TIMES ROLL/FEEL SO FINE (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/16-let_the_good_times_roll_feel_so_.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'THE KIDS ARE BACK', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/06-the_kids_are_back.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'I AM (I\'M ME)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/03-i_am_i_m_me.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'YOU CAN\'T STOP ROCK \'N ROLL', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/05-you_can_t_stop_rock_n_roll.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'I WANNA ROCK', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/02-i_wanna_rock.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'I\'LL NEVER GROW UP, NOW!', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/big_hits_and_nasty_cuts%3A_the_bes/09-i_ll_never_grow_up_now!.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'WE\'RE NOT GONNA TAKE IT', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/feel_the_noiz_-_the_best_of_meta/01-we_re_not_gonna_take_it.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'THE PRICE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/feel_the_love_-_the_best_of_powe/12-the_price.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'LIKE A KNIFE IN THE BACK', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/you_can_t_stop_rock_n_roll/02-like_a_knife_in_the_back.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'RIDE TO LIVE, LIVE TO RIDE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/t/twisted_sister/you_can_t_stop_rock_n_roll/03-ride_to_live_live_to_ride.mp3', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | 84221 => array( | ||
+ | "name" => 'The New York Dolls', | ||
+ | "decades" => '(1970)', | ||
+ | "city" => 'New York', | ||
+ | "country" => 'US', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=The+New+York+Dolls&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'HOOCHIE COOCHIE MAN', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/16-hoochie_coochie_man.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'GREAT BIG KISS', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/17-great_big_kiss.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'VIETNAMESE BABY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/18-vietnamese_baby.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'BABYLON', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/19-babylon.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'RED PLANET LEATHER (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/01-red_planet_leather_live.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'ON FIRE (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/02-on_fire_live.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'SOMETHING ELSE (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/03-something_else_live.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'DADDY ROLLING STONE (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/04-daddy_rolling_stone_live.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'AIN\'T GOT NO HOME / DIZZY MISS LIZZIE (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/05-ain_t_got_no_home_dizzy_miss_liz.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'GIRLS, GIRLS GIRLS (LIVE)', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/n/new_york_dolls/great_big_kiss/06-girls_girls_girls_live.mp3', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | 118504 => array( | ||
+ | "name" => 'Marc Bolan', | ||
+ | "decades" => '(1960,1970)', | ||
+ | "city" => 'London', | ||
+ | "country" => 'GB', | ||
+ | "link" => 'http://www.mp3.com/search.php?stype=artist&query=Marc+Bolan&action=Search', | ||
+ | "songs" => array( | ||
+ | array( | ||
+ | "title" => 'JASPER C. DEBUSSY', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/01-jasper_c._debussy.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'HIPPY GUMBO', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/02-hippy_gumbo.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'MISFIT', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/03-misfit.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'THE LILAC HAND OF MENTHOL DAN', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/04-the_lilac_hand_of_menthol_dan.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'BLACK AND WHITE INCIDENT', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/05-black_and_white_incident.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'JASMINE \'49', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/06-jasmine_49.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'CAT BLACK', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/07-cat_black.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'YOU GOT THE POWER', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/08-you_got_the_power.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'EASTERN SPELL', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/09-eastern_spell.mp3', | ||
+ | ), | ||
+ | array( | ||
+ | "title" => 'CHARLIE', | ||
+ | "link" => 'http://mtgdb.iua.upf.edu/total/audio/mp3/m/marc_bolan/the_beginning_of_doves/10-charlie.mp3', | ||
+ | ), | ||
+ | ), | ||
+ | ), | ||
+ | ); | ||
+ | ?> | ||
+ | |||
+ | |||
+ | |||
+ | </source> | ||
+ | |||
+ | }} | ||
+ | |||
+ | ;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''''' | ||
+ | |||
+ | <source lang=php> | ||
+ | <?php | ||
+ | |||
+ | require_once ("datos.php"); | ||
+ | |||
+ | var_dump( $artistas ); | ||
+ | |||
+ | |||
+ | ?> | ||
+ | </source> | ||
+ | *A partir de él podemos mostrar la siguiente imagen que describe el aray | ||
+ | [[Imagen:arrayComplejo.png]] | ||
+ | *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) | ||
+ | }} | ||
+ | <!-- | ||
+ | <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Arrays/Ejercicios/Ejercicio1 | Solución]]</font> | ||
+ | <hr /> | ||
+ | --> | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Arrays/ejercicios/ejercicio8|Ejercicio 8 : Canales de tv]]=== | ||
+ | <br /> | ||
+ | <div id=parrafo> | ||
+ | {{MRM_Actividad|Title=Ejercicio 8 : Canales de TV| | ||
+ | ;Accedemos al siguiente fichero json que contiene canales de tv | ||
+ | :La ubiciación del fichero en github: https://github.com/MAlejandroR/json_tv | ||
+ | :Primero cargamos el fichero y lo convertimos en un array asociativo | ||
+ | Para acceder al contenido de un fichero en git, debemos acceder a esta '''url''' | ||
+ | <source lang=php> | ||
+ | $url= "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; | ||
+ | $contenido = file_get_contents($url); | ||
+ | </source> | ||
+ | :Posteriormente vamos a cargar canales de tv en nuestra web | ||
+ | * Lo Primero cargamos el fichero y lo convertimos en un array asociativo | ||
+ | |||
+ | *Para acceder al contenido de un fichero en git, debemos | ||
+ | |||
+ | <source lang=php> | ||
+ | $url= "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; | ||
+ | $contenido = file_get_contents($url);| | ||
+ | |||
+ | </source> | ||
+ | |||
+ | *En este caso usamos una función nueva que no hemos visto que nos permitirá ver el contenido de un fichero | ||
+ | ### Convertir un json a un array asociativo | ||
+ | |||
+ | *En php podemos convertir el fichero json en array asociativo con la función **json_decode($nombre_json, 1)** | ||
+ | |||
+ | Uniendo todo esto podríamos crearnos una función para obtener el array. | ||
+ | <source lang=php> | ||
+ | function obtener_arrays_canales() | ||
+ | { | ||
+ | $url = "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; | ||
+ | $contenido = file_get_contents($url); | ||
+ | $contenido = json_decode($contenido, 1); | ||
+ | return $contenido; | ||
+ | |||
+ | } | ||
+ | </source> | ||
+ | |||
+ | *Hasta aquí para tener el array de los canales. Ahora se trata de trabajar con este array | ||
+ | |||
+ | * El objetivo final : | ||
+ | # Obtener un listado de todos los canales agrupados por temática. | ||
+ | # De cada canal veremos la imagen | ||
+ | # Al clikcar en la imagen nos llevará al enlace establecido | ||
+ | |||
+ | [[Archivo:array_tv1.png]] | ||
+ | |||
+ | |||
+ | |||
+ | [[Archivo:array_tv.png]] | ||
+ | <source lang=php> | ||
+ | |||
+ | </source> | ||
+ | }} | ||
+ | </div> |
Última revisión de 10:10 19 dic 2023
|
|
Ejercicio 1 : Recorrer un array básico
Ejercicio 2 : Manipulando un array
|
Ejercicio 3 : Crear un array de notas
Ejercicio 4 : Usando funciones de arrays
Repite el ejercicio anterior usando funciones para todas las acciones
|
Ejercicio 5 : Imágenes aleatorias
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">
$array=[ "https://es.wikieducator.org/images/3/3d/Ajax_cliente_servidor.png", "https://es.wikieducator.org/images/7/7b/Funcionamiento_ajax.png", "https://es.wikieducator.org/images/a/aa/Angular_app_base.png", "https://es.wikieducator.org/images/3/3d/Docker_distancia_1.png", "https://es.wikieducator.org/images/4/4e/Opcion_Instalar.png", "https://es.wikieducator.org/images/a/ab/AplicacionWeb.png", "https://es.wikieducator.org/images/e/e4/Red3.png", "https://es.wikieducator.org/images/f/f2/DACTW.png", "https://es.wikieducator.org/images/e/e5/M3_web.png", "https://es.wikieducator.org/images/a/a6/Ficheros.jpeg"];
|
Ejercicio 6 : 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], ];
|
Ejercicio 7 : Accesos de usuario
Ejercicio 8 : Array multinivel
Artista.pdf Este fichero es un css para el ejercicios Contenido del ArrayAsociativo.php
<?php require_once ("datos.php"); var_dump( $artistas ); ?>
185711, 32841, 84062, 84430, 84221, 118504
name decades link canciones
title link
|
Ejercicio 8 : Canales de tv
Para acceder al contenido de un fichero en git, debemos acceder a esta url $url= "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; $contenido = file_get_contents($url);
$url= "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; $contenido = file_get_contents($url);|
Uniendo todo esto podríamos crearnos una función para obtener el array. function obtener_arrays_canales() { $url = "https://raw.githubusercontent.com/MAlejandroR/json_tv/main/tv.json"; $contenido = file_get_contents($url); $contenido = json_decode($contenido, 1); return $contenido; }
|