|
| 1 | +<?php |
| 2 | + |
| 3 | +echo "<h2>Ejercicios Hoja 1</h2>"; //Los <hx> ya colocan su salto de linea |
| 4 | + |
| 5 | +//1. Crea un array $dias con los días de la semana y muestra todas sus parejas índices/valores mediante un bucle foreach y for. |
| 6 | + |
| 7 | +echo "<h3>Ejercicio 1</h3>"; |
| 8 | + |
| 9 | +$dias = array("primero" => "lunes", "segundo" => "martes", "tercero" => "miercoles", "cuarto" => "jueves", "quinto" => "viernes", "sexto" => "sabado", "septimo" => "domingo"); //Con parentesis hay que colocar "array" antes de ellos |
| 10 | + |
| 11 | +//Al ser un array asociativo, no se puede recorrer on for sin ayuda. Usamos arrays_keys() |
| 12 | + |
| 13 | +$claves = array_keys($dias); |
| 14 | + |
| 15 | +for ($i = 0; $i < count($claves); $i++) { |
| 16 | + $clave = $claves[$i]; //Clave de 0, Clave de 1.... |
| 17 | + echo "A la clave $clave le corresponde el valor " . $dias[$clave] . "<br>"; //Clave : valor |
| 18 | +} |
| 19 | +echo ("-----------------------------------------------------------------") . "<br>"; |
| 20 | + |
| 21 | +foreach ($dias as $key => $value) { |
| 22 | + echo ("A la clave $key le corresponde el valor $value") . "<br>"; |
| 23 | +} |
| 24 | +echo ("-----------------------------------------------------------------") . "<br>"; |
| 25 | + |
| 26 | +echo "<h3>Ejercicio 2</h3>"; |
| 27 | +//2. Crea un array con una lista de 5 alumnos de la clase. Muestra primero la lista de los 3 primeros alumnos del array y luego los dos últimos de la lista usando las funciones array_slice y array_splice. |
| 28 | + |
| 29 | +$alumnos = array('Ana', 'Pablo', 'Jorge', 'Marta', 'Cris'); |
| 30 | + |
| 31 | +echo ("<h4>array_slice</h4>"); |
| 32 | + |
| 33 | +print_r(array_slice($alumnos, 0, 3)); //Posicion inicial array e incluye, cantidad a devolver |
| 34 | +echo "<br>"; |
| 35 | +print_r(array_slice($alumnos, 3, 2)); |
| 36 | + |
| 37 | +echo ("<h4>array_splice</h4>"); |
| 38 | + |
| 39 | +var_dump(array_splice($alumnos, 3, 2)); //Pos inicial, cantidad a eliminar. Devuelve un array con lo eliminado. & |
| 40 | +echo "<br>"; |
| 41 | +//Dos ultimos |
| 42 | + |
| 43 | +$alumnos = array('Ana', 'Pablo', 'Jorge', 'Marta', 'Cris'); //Como cambia el objeto en memoria, hay que volverlo a definir |
| 44 | +echo "<br>"; |
| 45 | +var_dump(array_splice($alumnos, 0, 3)); //Pos inicial, cantidad a eliminar. Devuelve un array con lo eliminado. & |
| 46 | +echo "<br>"; |
| 47 | +// Tres primeros |
| 48 | + |
| 49 | +echo "<h3>Ejercicio 3</h3><br>"; |
| 50 | +/*3. Crea un array de dos dimensiones, de manera que en una dimensión contenga el tipo de colores (fuerte o suave) y en la otra 3 colores de cada tipo. Muestra una tabla como la siguiente recorriendo el array: |
| 51 | + Colores fuertes: Rojo:FF0000 Verde:00FF00 Azul: 0000FF |
| 52 | + Colores suaves: Rosa:FE9ABC Amarillo:FDF189 Malva:BC8F8F |
| 53 | +*/ |
| 54 | + |
| 55 | +$colores = array("Fuerte" => array("Rojo: FF0000", "Verde: 00FF00", "Azul: 0000FF"), "Suave" => array("Rosa: FE9ABC", "Amarillo: FDF189", "Malva: BC8F8F")); |
| 56 | +echo "<pre>"; |
| 57 | +var_dump($colores); |
| 58 | +echo "<pre>"; |
| 59 | +echo "<br>"; |
| 60 | +print_r($colores); |
| 61 | +echo "<br>"; |
| 62 | +/*Sin tabla. FUNCIONA |
| 63 | +foreach ($colores as $categoria => $arraycolor) { |
| 64 | + echo $arraycolor; |
| 65 | + foreach ($arraycolor as $key => $colorcito) { |
| 66 | + echo $colorcito; |
| 67 | + } |
| 68 | +} |
| 69 | +*/ |
| 70 | + |
| 71 | +//Mostrar Tabla |
| 72 | + |
| 73 | +// Array bidimensional |
| 74 | +$colores2 = array( |
| 75 | + "Colores fuertes" => array( |
| 76 | + "Rojo" => "FF0000", |
| 77 | + "Verde" => "00FF00", |
| 78 | + "Azul" => "0000FF" |
| 79 | + ), |
| 80 | + "Colores suaves" => array( |
| 81 | + "Rosa" => "FE9ABC", |
| 82 | + "Amarillo" => "FDF189", |
| 83 | + "Malva" => "BC8F8F" |
| 84 | + ) |
| 85 | +); |
| 86 | + |
| 87 | +// Inicio de la tabla |
| 88 | +echo "<table cellpadding='5' cellspacing='0' border='1'>"; |
| 89 | + |
| 90 | +// Recorremos el array principal |
| 91 | +foreach ($colores2 as $intensidad => $colorcitos) { |
| 92 | + echo "<tr>"; |
| 93 | + echo "<td><b>$intensidad:</b></td>"; // |
| 94 | + |
| 95 | + // Recorremos los colores de cada tipo |
| 96 | + foreach ($colorcitos as $nombre => $codigo) { |
| 97 | + echo "<td style='background-color:#$codigo; color:black; text-align:center;'>"; |
| 98 | + echo "$nombre $codigo"; |
| 99 | + } |
| 100 | + |
| 101 | + echo "</tr>"; |
| 102 | +} |
| 103 | + |
| 104 | +echo "</table>"; |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +//4. Dado el array anterior comprueba si en él se encuentra el color “FF88CC” y el color “FF0000” usando la función in_array. |
| 109 | +echo "<h3>Ejercicio 4</h3><br>"; |
| 110 | +function buscaColor() |
| 111 | +{ |
| 112 | + $colores2 = array( |
| 113 | + "Colores fuertes" => array( |
| 114 | + "Rojo" => "FF0000", |
| 115 | + "Verde" => "00FF00", |
| 116 | + "Azul" => "0000FF" |
| 117 | + ), |
| 118 | + "Colores suaves" => array( |
| 119 | + "Rosa" => "FE9ABC", |
| 120 | + "Amarillo" => "FDF189", |
| 121 | + "Malva" => "BC8F8F" |
| 122 | + ) |
| 123 | + ); |
| 124 | + |
| 125 | + foreach ($colores2 as $intensidad => $colorcitos) { |
| 126 | + foreach ($colorcitos as $key => $value) { |
| 127 | + if (in_array('FF0000', $colores2, true)) { |
| 128 | + echo "Encontrado"; |
| 129 | + } else { |
| 130 | + echo "No encontrado"; |
| 131 | + } |
| 132 | + } |
| 133 | + } |
| 134 | +} |
| 135 | + |
| 136 | +echo buscaColor(); |
| 137 | +echo "<br>"; |
| 138 | + |
| 139 | +echo "<h3>Ejercicio 5</h3><br>"; |
| 140 | +/*5. Crea un array llamado pila como éste: |
| 141 | +$pila = array(“cinco” => 5, “uno”=>1, “cuatro”=>4, “dos”=>2, “tres”=>3); |
| 142 | +Muestra el array ordenado por asort, arsort, ksort, sort, rsort.*/ |
| 143 | +echo "<b>Array ordenado con asort</b><br>"; |
| 144 | +$pila = array("cinco" => 5, "uno" => 1, "cuatro" => 4, "dos" => 2, "tres" => 3); |
| 145 | + |
| 146 | +asort($pila); //ordena por valores |
| 147 | + |
| 148 | +foreach ($pila as $nombre => $numero) { |
| 149 | + echo "$nombre = $numero<br>"; |
| 150 | +} |
| 151 | + |
| 152 | +echo "<b>Array ordenado con arsort</b><br>"; //ordena por valores descendentemente |
| 153 | +arsort($pila); |
| 154 | +foreach ($pila as $nombre => $numero) { |
| 155 | + echo "$nombre = $numero<br>"; |
| 156 | +} |
| 157 | + |
| 158 | +echo "<b>Array ordenado con ksort</b><br>"; //ordena por claves |
| 159 | +ksort($pila); |
| 160 | +foreach ($pila as $nombre => $numero) { |
| 161 | + echo "$nombre = $numero<br>"; |
| 162 | +} |
| 163 | + |
| 164 | +echo "<b>Array ordenado con sort</b><br>"; //ordena por valor y reindexa |
| 165 | +sort($pila); |
| 166 | +foreach ($pila as $nombre => $numero) { |
| 167 | + echo "$nombre = $numero<br>"; |
| 168 | +} |
| 169 | + |
| 170 | +echo "<b>Array ordenado con rsort</b><br>"; //ordena por descendentemente y reindexa |
| 171 | +rsort($pila); |
| 172 | +foreach ($pila as $nombre => $numero) { |
| 173 | + echo "$nombre = $numero<br>"; |
| 174 | +} |
| 175 | + |
| 176 | +echo "<h3>Ejercicio 6</h3><br>"; |
| 177 | +//6. Crea un array con los países de la Unión Europea y sus capitales. Muestra por cada uno de ellos la frase: “La capital de <<país>> es <<capital>>”. Luego ordena la lista por el nombre del país y luego por el nombre de la capital. |
| 178 | + |
| 179 | +$paisesUE=array('España'=>'Madrid','Italia'=>'Roma','Alemania'=>'Berlin','Francia'=>'Paris','Inglaterra'=>'Londres'); |
| 180 | + |
| 181 | +foreach ($paisesUE as $pais => $capital) { |
| 182 | + echo "La capital de $pais es $capital<br>"; |
| 183 | +}; |
| 184 | + |
| 185 | +echo "<br><b>Ordenado por pais</b><br>"; |
| 186 | + |
| 187 | +ksort($paisesUE); |
| 188 | + |
| 189 | +var_dump($paisesUE); |
| 190 | + |
| 191 | +echo "<b>Ordenado por capital</b><br>"; |
| 192 | + |
| 193 | +sort($paisesUE); |
| 194 | + |
| 195 | +var_dump($paisesUE); |
| 196 | + |
| 197 | +//7. Obtén el número de valores iguales al valor 2 contenidos en un array de 10 valores generados aleatoriamente con valores de 1 a 10. |
| 198 | + |
| 199 | +$aleatorios=[]; |
| 200 | +$contador=0; |
| 201 | +for ($i=0; $i <10; $i++) { |
| 202 | + $aleatorios[$i]=rand(1,10); |
| 203 | + |
| 204 | + if($aleatorios[$i]==2){ |
| 205 | + echo $contador++; |
| 206 | + } |
| 207 | +} |
| 208 | +print_r($aleatorios); |
| 209 | +echo "<br>El dos se repitio $contador vez/veces"; |
| 210 | + |
0 commit comments