Lado, ledo, lido, lodo, ludo,
decirlo al revés lo dudo.
Ludo, lodo, lido, ledo, lado,
¡Qué trabajo me ha costado!
Ejercicio 2.
Crea un arreglo que contenga como clave los nombres de 5 países y como valor otro arreglo con 3 ciudades que pertenezcan a ese país, después utiliza un ciclo foreach, para imprimir el nombre del país seguido de las ciudades que definiste:
Hola que tal les mando los tres ejercicios resueltos, me gusto investigar como usar el foreach
<?php
// Ejercicio 1 $arreglo =['keyStr1'=>'lado',0=>'ledo','keyStr2'=>'lido',1=>'lodo',2=>'ludo'];echo "<h3>Ejercicio 1</h3>";echo "$arreglo[keyStr1], $arreglo[0], $arreglo[keyStr2], $arreglo[1], $arreglo[2]<br>";echo "decirlo al revés lo dudo<br> ";echo "$arreglo[2], $arreglo[1], $arreglo[keyStr2], $arreglo[0], $arreglo[keyStr1]<br>";echo "¡Qué trabajo me ha costado!";echo "<br>";echo "<hr>";// Ejercicio 2$ejercicio2 =['Mexico'=>['Monterrey','Queretaro','Guadalajara'],'Colombia'=>['Bogota','Cartagena','Medellin'],'Peru'=>['Lima','Arequipa','Cuzco'],'Argentina'=>['Buenos Aires','Rosario','Mar de Plata'],'Venezuela'=>['Caracas','Valencia','Maracay']];echo "<h3>Ejercicio 2</h3>";foreach($ejercicio2 as$pais=> $ciudades){ echo "<br>El pais $pais de tiene como ciudades a ";foreach($ciudades as $valor){ echo "$valor ";}}echo "<br>";echo "<hr>";// Ejercicio 3echo "<h3>Ejercicio 3</h3>";$ejercicio3 =[23,54,32,67,34,78,98,56,21,34,57,92,12,5,61];rsort($ejercicio3);// Acomoda el arrego de mayor a menorecho "<br>";echo "Los tres valores mas altos son: ";for($i=0; $i <3; $i++){ echo "$ejercicio3[$i] ";}echo "<br>";echo "Los tres valores mas bajos son: ";$tam =count($ejercicio3);// Manda el tamaño del arreglofor($i=1; $i <4; $i++){ echo " ".$ejercicio3[($tam - $i)];}?>```
muchas gracias por compartir tu código, no sabia como era la implementacion del ciclo foreach ni de las funciones para determinar como ordenar un arreglo de mayor a menor
Gracias. Falta estructura y orden al curso, ciclos foreach no se desarrolló todavía.
<?php
// =============== Exercise 01 ==============$array =['keyStr1'=>'lado',0=>'ledo','keyStr2'=>'lido',1=>'lodo',2=>'ludo'];$inverse_array =array_reverse($array,true);foreach($array as $value){ echo $value .', ';}echo "\n".'decirlo al revés lo dudo.'."\n";foreach($inverse_array as $value){ echo $value .', ';}echo "\n".'¡Qué trabajo me ha costado!'."\n";// =============== Exercise 02 ==============$countriesWithCities =['México'=>['Monterrey','Querétaro','Guadalajara'],'Colombia'=>['Bogota ','Cartagena',' Medellin'],'Polonia'=>['Wrocław','Warszawa','Kraków'],'Canadá'=>['Quebec','L\'Épiphanie','Estérel'],'España'=>['Toledo','Salamanca','Zaragoza']];foreach($countriesWithCities as$country=> $citiesArray){ echo $country .': ';foreach($citiesArray as $city){ echo $city.' ';} echo "<br/>\n";}// =============== Exercise 03 ==============$values =[23,54,32,67,34,78,98,56,21,34,57,92,12,5,61];sort($values);$inverseValues =array_reverse($values,false);echo 'Los tres numeros menores'."\n";for($i =0; $i <3; $i++){ echo $values[$i].',';}echo "\n".'Los tres numeros mayores'."\n";for($i =2; $i >-1; $i--){ echo $inverseValues[$i].',';}?>
De lujo, el ejercicio 3
No entiendo como he seguido el curso hasta aquí y entiendo todo , y este ejercicio veo a todo el mundo completando el ejercicio 1 con código que no hemos visto. No se de donde se han sacado el foreach o el artsort o el as value. No se deberñia poder acabar el ejercicio con la teoría que nos ha dado hasta ahora solo?
Compañero, la lógica sería seguirlo con las condiciones del curso, pero hay que recordar que nosotros debemos optimizar todo el tiempo nuestro código, hay cosas que en los cursos no lo enseñan y hay que aprenderlo por nuestra cuenta
<hr><h3>Ejercicio1</h3><p>Escribe el código necesario para generar la cadena final usando
el arreglo dado</p><p>Lado, ledo, lido, lodo, ludo,</p><p>decirlo al revés lo dudo.</p><p>Ludo, lodo, lido, ledo, lado,</p><p>¡Qué trabajo me ha costado!</p><h3>Respuesta</h3><?php
echo '<h4>Secuencia</h4>';foreach($arreglo as$key=> $value){ echo "$value, \n";} echo "<p>decirlo al revés lo dudo.</p>"; echo '<h4> Al revez </h4>';//rsort() ordena de mayor a menorrsort($arreglo);foreach($arreglo as$key=> $value){ echo "$value,\n";} echo "<p>¡Qué trabajo me ha costado!</p>";?>
//Ejercicio 2$arreglo_paises =['Argentina'=>['Buenos Aires','Salta','Cordoba',],'Chile'=>['Concepción','Viña del Mar','Santiago de Chile',],'Brasil'=>['Porto Alegre','Rio de Janeiro','Natal',],'Mexico'=>['Monterrey','Querétaro','Guadalajara',],'Colombia'=>['Bogota','Catagena','Medellin',]];>
<hr><h3>Ejercicio2</h3><p>Crea un arreglo que contenga como claves los nombres de
y como valor otro arreglo con 3 ciudades que pertenezcan a
ese país, después utiliza un ciclo foreach, para imrpimir
el nombre del país seguido de las ciudades que definiste:</p><p>Ejemplo</p><p><strong>México:</strong>MonterreyQuerétaroGuadalajara<br><strong>Colombia:</strong>BogotaCartagenaMedellin</p><h3>Respuesta</h3><?php
//arreglo de paísforeach($arreglo_paises as$pais=> $ciudad){ echo "<br> <strong>$pais</strong> : ";//arreglo de ciudad de cada paísforeach($ciudad as$key=> $value){ echo "$value\n";}}?>
<hr><h3>Ejercicio3</h3><p>Escribe el código necesario para encontrar los 3 números más
grandes y los 3 números más bajos de la siguiente lista:</p><h3>Respuesta</h3><?php
echo "<p> Menor a Mayor</p>";//sort() ordena los numeros de menor a mayorsort($valores);foreach($valores as$numero=> $valor){//muestro en pantalla la cantidad de números en este caso 3if($numero <3){ echo "$valor\n";}} echo "<p>Mayor a Menor</p>";//rsort() ordena de mayor a menorrsort($valores);foreach($valores as$numero=> $valor){//muestro en pantalla la cantidad de números en este caso 3if($numero <3){ echo "$valor\n";}}?>
Sentí esto como la típica clase de "Bueno, 2 + 2 es 4 y 4 + 2 es 6. Entonces, cual es la masa del sol?" 😂😂
Fue bastante retante para mí, pero lo logré buscando artículos de PHP 🙂
<?php
echo '<h2>Ejercicio 1</h2>';$arreglo =[0=>'lado',1=>'ledo',2=>'lido',3=>'lodo',4=>'ludo'];$diferencia =count($arreglo);for($start =0; $start < $diferencia; $start++){ echo "$arreglo[$start], ";};echo '<br/> Decirlo al revés lo dudo. <br/>';for($start =4; $start >=0; $start--){ echo "$arreglo[$start], ";};echo '<br/> ¡Qué trabajo me ha costado!';echo '<h2>Ejercicio 2</h2>';$paisCiudad =['Colombia'=>[0=>'Cali',1=>'Medellín',2=>'Manizales',],'Costa Rica'=>[0=>'San José',1=>'Alajuela',2=>'Limón',],'Ecuador'=>[0=>'Guayaquil',1=>'Ibarra',2=>'Esmeraldas',],'Estados Unidos'=>[0=>'New York',1=>'Washington',2=>'Texas',],'Argentina'=>[0=>'Buenos Aires',1=>'La Paz',2=>'Ushuaia']];// var_dump($paisCiudad);foreach($paisCiudad as$pais=>$ciudades){ echo "<strong>$pais</strong>: ";foreach($ciudades as$ciudad=> $ciudadletras){ echo "$ciudadletras, ";}; echo "<br>";};echo '<h2>Ejercicio 3</h2>';/* Escribe el código necesario para encontrar los 3 números más grandes
y los 3 números más bajos de la siguiente lista: */$valores =[23,54,32,67,34,78,98,56,21,34,57,92,12,5,61];echo "<b>Los 3 números más grandes </b><br/>";$maxNum1 =max($valores);$maxNum2 =max(array_diff($valores,[$maxNum1]));$maxNum3 =max(array_diff($valores,[$maxNum1, $maxNum2]));echo "> $maxNum1 <br/>";echo "> $maxNum2 <br/>";echo "> $maxNum3 <br/><br/>";echo "<b>Los 3 números más pequeños </b><br/>";$minNum1 =min($valores);$minNum2 =min(array_diff($valores,[$minNum1]));$minNum3 =min(array_diff($valores,[$minNum1, $minNum2]));echo "> $minNum1 <br/>";echo "> $minNum2 <br/>";echo "> $minNum3 <br/><br/>";echo "<p>¡Hecho! :D</p>";?>```
Ejercicio 1
<?php
$arreglo =['keyStr1'=>'lado',0=>'ledo','keyStr2'=>'lido',1=>'lodo',2=>'ludo'];echo ucfirst($arreglo['keyStr1']).', '.$arreglo[0].', '.$arreglo['keyStr2'].', '.$arreglo[1].', '.$arreglo[2].',';echo '<p>decirlo al revés lo dudo.</p>';echo ucfirst($arreglo[2]).', '.$arreglo[1].', '.$arreglo['keyStr2'].', '.$arreglo[0].', '.$arreglo['keyStr1'].',';echo '<p>¡Qué trabajo me ha costado!</p>';?>```
Para los puristas de la programación como diría @freddier
<?php
//Ejercicio 1$arreglo =['keyStr1'=>'lado',0=>'ledo','keyStr2'=>'lido',1=>'lodo',2=>'ludo'];$arreglo1 = $arreglo;foreach($arreglo1 as$key=> $value){if( $arreglo1[$key]=='lado'){ $arreglo1[$key]=ucfirst($arreglo1[$key]);} echo $arreglo1[$key].', ';}echo '<br/>'."decirlo al revés lo dudo.".'<br/>';$arreglo2 =array_reverse($arreglo);foreach($arreglo2 as$key=> $value){if( $arreglo2[$key]=='ludo'){ $arreglo2[$key]=ucfirst($arreglo2[$key]);} echo $arreglo2[$key].', ';}echo '<br/>'."¡Qué trabajo me ha costado!".'<br/>';//EJERCICIO 2 $countries =['Cuba'=>['Habana','Cienfuegos','Camaguey'],'México'=>['Guadalajara','Tijuana','Cancun'],'Colombia'=>['Bogota','Cartagena','Medellin'],'EEUU'=>['Florida','Texas','Ohio'],'Japan'=>['Tokyo','Okinawa','Kyoto'],];foreach($countries as$country=> $value){ echo "<br>"; echo "$country: ";foreach($value as $city){ echo "$city ";}}//EJERCICIO 3$valores =[23,54,32,67,34,78,98,56,21,34,57,92,12,5,61];echo '<br/><br/>Los números de la lista son: <br>';foreach($valores as$key=> $value){if($value ==61){ echo "$value. ";}else{ echo "$value, ";}}sort($valores);echo '<br/><br/>Los 3 números más bajos de la lista son: <br>';for($i=0; $i <3; $i++){if($i ==2){ echo "$valores[$i]. ";}else{ echo "$valores[$i], ";}}rsort($valores);echo '<br/><br/>Los 3 números más altos de la lista son: <br>';for($i=0; $i <3; $i++){if($i ==2){ echo "$valores[$i]. ";}else{ echo "$valores[$i], ";}}?>
<?php
//PRIMER EJERCICIOecho "PRIMER EJERCICIO<br><br>";$arreglo =['keyStr1'=>'lado',0=>'ledo','keyStr2'=>'lido',1=>'lodo',2=>'ludo'];foreach($arreglo as$key=> $value){ echo "$arreglo[$key], ";}echo "<br>decirlo al revés lo dudo.<br>";foreach(array_reverse($arreglo)as$key=> $value){ echo "$value, ";}echo "<br>¡Qué trabajo me ha costado! <br>";//SEGUNDO EJERCICIOecho "<br>SEGUNDO EJERCICIO<br>";$paises =["colombia"=>['cartagena','cali','bogota'],"venezuela"=>["caracas","sancristobal","maracay"],"México"=>["Monterrey","Querétaro","Guadalajara"],"EEUU"=>["new york","california","texas"],"españa"=>["madrid","valencia","cataluña"]];$i=1;foreach($paises as$key=> $value){ echo "<br>$i.$key= "; $i++;foreach($value as $ciudad){ echo "$ciudad, ";}}//TERCER EJERCICIOecho "<br><br>TERCER EJERCICIO<br>";$valores =[23,54,32,67,34,78,98,56,21,34,57,92,12,5,61];for($i=0;$i<count($valores);$i++)//uso un for para leer desde la primera posicion hasta la ultima{for($j=$i+1;$j<count($valores);$j++){//un segundo for para leer desde la siguiente posicionif($valores[$i]<$valores[$j]){//si el primer valor es menor al siguiente $temporal=$valores[$j];//guardo temporalmente el valor de la posicion siguiente $valores[$j]=$valores[$i];//asigno el valor de la siguiente posicion con el valor de la primera posicion $valores[$i]=$temporal;//y a la primera posicion uso el valor temporal que cree, para guardar el valor de la siguiente posicion}//notese que cambiamos el valor de las posiciones en las iteraciones}}echo "<br>";echo "Array ordenado de forma descendente sin funciones nativas de php: ".implode(", ",$valores);echo "<br><br>Los 3 numeros de mayor valor: $valores[0],$valores[1],$valores[2]<br>";echo "<br>Los 3 numeros de menor valor: $valores[12],$valores[13],$valores[14]<br>";?>
No me gustó que no se explicara antes que es un foreach ni funciones como sort para poder realizar los ejercicios. (Esperemos que fuera a propósito para que lo buscáramos por nuestra cuenta, pero mal si fue un despiste)
Para el ejercicio 3 utilizaste asort , sin embargo la documentación recomienda asort para arreglos asociativos sin perder la relación con su indice, al hacer un var_dump(asort($valores)); retorna un arreglo bastante dificil de leer, entonces recomendaria utilizar solamente la función sort , var_dump(sort($valores)); es más legible y recomendado para este caso que solo hay numeros.