No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Programando un algoritmo con PHP: switch

16/17
Recursos

En la programaci贸n, la eficiencia y optimizaci贸n son fundamentales. Para ganar en velocidad y precisi贸n, PHP ofrece una estructura de control llamada switch, especialmente 煤til al momento de realizar b煤squedas segmentadas.

驴Qu茅 es switch en PHP?

En PHP, switch es una estructura de control, similar a una serie de sentencias IF. 脷til cuando deseamos comparar una misma variable o expresi贸n con diversos valores y ejecutar un fragmento de c贸digo distinto en cada caso. Es decir, act煤a como una herramienta que permite realizar b煤squedas paso a paso.

驴C贸mo declarar la sentencia switch?

El empleo de switch() en PHP se reduce a unos sencillos pasos:

  1. Se inicia al escribir la palabra switch, seguida de unos par茅ntesis. Dentro de estos, se precisa la condici贸n a la que se le realizar谩n las b煤squedas.

switch("ubicacion")

  1. Una vez establecida la condici贸n, se abren los corchetes para albergar todos los casos posibles.

switch("ubicacion"){ }

  1. Se utiliza la palabra reservada cas茅 seguida del tipo de caso y dos puntos.

switch("ubicacion"){ case "clima": }

  1. Posteriormente, se recurre a la palabra reservada array_search(), que admite dos par谩metros: el valor a buscar y el arreglo donde se realizar谩 la b煤squeda.

switch("ubicacion"){ case "clima": array_search("frio", $clima); }

  1. La palabra reservada echo permite imprimir el resultado de la b煤squeda.

switch("ubicacion"){ case "clima": echo array_search("frio", $clima); }

  1. Finalmente, la palabra break determina el final de dicho bloque de c贸digo.

switch("ubicacion"){ case "clima": echo array_search("frio", $clima); break; }

驴C贸mo luce el algoritmo final?

El algoritmo final quedar铆a de la siguiente manera:

``` <?php

function recomendacion (){

$clima = array("Bogota" => "frio", "Monteria" => "calido", "Medellin" => "templado");

$ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");

$turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle");

switch("ubicacion") { case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; } }

recomendacion(); ?> ```

驴Est谩s listo para el desaf铆o?

El siguiente paso es tuyo, te invitamos a agregar el caso de b煤squeda de turismo a este algoritmo. Comparte tu c贸digo en la secci贸n de comentarios y permite que el c贸digo hable por nosotros.

Contribuci贸n del curso creada por: Silfredo Ibarra

Aportes 271

Preguntas 17

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

鈿 A帽adiendo el caso de turismo

<?php
/*Tener una lista de ciudades con un 
clima y una ubicaci贸n espec铆fica*/

function recomendacion(){
    
    $clima = array ("Bogota" => "Frio", 
    "Monteria" => "Calido", "Medellin" => "Templado" );

    $ubicacion = array ("Guajira" => "Norte", 
    "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");

    $turismo = array ("Santa Marta" => "Mar", 
    "Villavicencio" => "Llanos", "Riocha" => "Desierto", "Quindio" => "Valle");

    switch("turismo"){

        case "clima":
            echo array_search("Frio", $clima);
            break;
        case "ubicacion":
            echo array_search("Norte", $ubicacion);
            break; 
        case "turismo":
            echo array_search("Mar", $turismo);
            break; 
      } 
}

recomendacion();

?>

No se les olvide renombrar el documento de buscador.php por el de index.php para que les sirva

Ac谩 el buscador completo con par谩metros en la funci贸n de recomendacion

<?php
/***************************
Tener una lista de ciudades
con un clima y una ubicacion
especifica
***************************/

function recomendacion($caracteristica, $tipoCaracteristica){
  
  $weather = array(
    "Bogota" => "frio",
    "Monteria" => "calido",
    "Medellin" => "templado"
  );

  $location = array(
    "Guajira" => "norte",
    "Leticia" => "sur",
    "Santander" => "este",
    "Antioquia" => "oeste"
  );

  $tourism = array(
    "Santa Marta" => "mar",
    "Villavicencio" => "llanos",
    "Riohacha" => "desierto",
    "Quindio" => "valle"
  );

  switch($tipoCaracteristica){
    case "clima":
      echo array_search($caracteristica, $weather);
      break;
    case "ubicacion":
      echo array_search($caracteristica, $location);
      break;
    case "turismo":
      echo array_search($caracteristica, $tourism);
      break;
    default:
      echo "No fue posible encontrar una ciudad con esas caracteristicas o criterios de busqueda, por favor intente nuevamente";
      break;
  }
}

/***********************************************
Se debe invocar la funci贸n recomendaci贸n
con teniendo en cuenta que el primer par谩metro
de la funci贸n es la caracter铆stica de la ciudad
y el segundo par谩metro es el nombre del caso del
switch en el cual se va a buscar
************************************************/
recomendacion("valle", "turismo");

?>

Este es mi propuesta de soluci贸n

<?php
/* list of cities with weather and location*/
function suggest($busqueda){
  $weather = array("Bogota" => "Frio","Monteria" => "calido", "Medellin" => "templado");
  $location = array("Guajira" => "norte","Leticiia" => "sur", "Santander" => "este","Antioquia" => "oeste");
  $turism = array("Santa Marta" => "mar","Villavicencio" => "llanos","Riohacha" => "desierto", "Quindio" => "valle");

  switch($busqueda){
    case "weather":
      echo array_search("calido",$weather);
    break;
    case "location":
      echo array_search("norte",$location);
    break;
    case "turism":
      echo array_search("valle",$turism);
    break;
    
  }
}
echo "<p>";
suggest("weather");
echo "</p>";
echo "<p>";
suggest("location");
echo "</p>";
echo "<p>";
suggest("turism");
echo "</p>";




?>

Lo hice con algunos destinos aqu铆 en M茅xico:

<?php

function recomendacion() {
  $clima = array("Rio Negro" => "frio", "Salta" => "Caluroso", "Buenos Aires" => "Templado");

  $ubicacion = array("Formosa" => "norte", "Santa Cruz" => "sur", "Mendoza" => "este", "Entre Rios" => "oeste");

    $turismo = array("Buenos Aires" => "mar", "La Rioja" => "llanos", "San Juan" => "desierto", "Catamarca" => "valle");

  switch("turismo") {
    case "clima":
      echo array_search("frio", $clima);
    break;
    case "ubicacion":
      echo array_search("norte", $ubicacion);
    break;
    case "turismo":
      echo array_search("mar", $turismo);
    break;
  }
}

recomendacion();

?>
<?php
/* Tener una lista de ciudades con un clima y ubicaci贸n especial */

function recomendacion() {
    $clima = array(
      'Bogota' => 'frio',
      'Monteria' => 'calido',
      'Medellin' => 'templado'
    );
    $ubicacion = array(
      'Guajira' => 'Norte',
      'Leticia' => 'Sur',
      'Santander' => 'Este',
      'Antioquia' => 'Oeste'
    );
    $turismo = array(
      'Santa Marta' => 'Mar',
      'Villavicencio' => 'Llano',
      'Riohacha' => 'Desierto',
      'Quindio' => 'Valle'
    );
  switch("turismo"){
    case "clima":
    echo array_search("frio", $clima);
    break;
    case "ubicacion":
    echo array_search("Sur", $ubicacion);
    break;
    case "turismo":
    echo array_search("Mar", $turismo);
    break;
  }
}

recomendacion();
?>
<?php
$llave = readline("Ingrese la llave(Clima, Ubicacion o Turismo): ");
$valor = readline("Ingrese el valor: ");

function recomendacion($llave, $valor){
  $clima = array("Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado" );
  $ubicacion = array ("Guajira"=> "Norte", "Leticia"=>"Sur", "Santander"=>"Este", "Antioquia"=>"Oeste");
  $turismo = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llano", "Rioacha"=>"Desierto", "Quindio"=>"Valle");

  switch($llave){
    case "Clima":
      echo array_search($valor, $clima);
    case "Ubicacion":
      echo array_search($valor, $ubicacion);
      break;
    case "Turismo":
      echo array_search($valor, $turismo);    
      break;
  }
}
recomendacion($llave, $valor);
?>

Quiero realizar mi primer aporte en platzi compartiendo mi c贸digo. El cu谩l al principio no me funcionaba pero realizando una serie de pruebas y filtros pude conocer donde estaba el error y solucionarlo.

<?php
// Este programa realiza recomendaciones a partir de 
// criterios de busqueda


$weather = array("Bogot谩" => "Frio", "Monteria" => "C谩lido", "Medellin" => "Templado");

$location = array("Guajira" => "Norte", "Leticia"=>"Sur", "SAntander"=>"Este", "Antioquia"=>"Oeste");

$tourism = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llano","Rioacha"=>"Desierto", "Quindio"=>"Valle" );

$busqueda = readline("Seleccione la opci贸n de su interes: 
                        1. Clima 2. Ubicaci贸n 3. Turismo ");

switch ($busqueda){
  case "1":
    $clima = readline("Seleccione el tipo de clima qu茅 desea: 
                        1. Frio 2. C谩lido 3. Templado ");
    switch ($clima){
      case "Frio":
        $recomen = array_search($clima, $weather);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "C谩lido":
        $recomen = array_search($clima, $weather);
        echo "El lugar recomendado es: ", "<p>", $recomen;   
      break;
      case "Templado":
        $recomen = array_search($clima, $weather);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      default:
        echo "No se encontraron recomendaciones que se ajusten a                 ti";
      }
  break;
  case "2":
    $ubica = readline("Seleccione la ubicaci贸n de su interes :
                        Norte - Sur - Este - Oeste ");
    switch($ubica){
      case "Norte":
        $recomen = array_search($ubica, $location);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Sur":
        $recomen = array_search($ubica, $location);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Este":
        $recomen = array_search($ubica, $location);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Oeste":
        $recomen = array_search($ubica, $location);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      default:
        echo "No se encontraron recomendaciones que se ajusten a                 ti";
    }
  break;
  case "3":
    $turism = readline("Seleccione lugar tur铆stico de interes :
                        Mar - Llano - Desierto - Valle ");
    switch($turism){
      case "Mar":
        $recomen = array_search($turism, $tourism);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Llano":
        $recomen = array_search($turism, $tourism);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Desierto":
        $recomen = array_search($turism, $tourism);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      case "Valle":
        $recomen = array_search($turism, $tourism);
        echo "El lugar recomendado es: ", "<p>", $recomen;
      break;
      default:
        echo "No se encontraron recomendaciones que se ajusten a                 ti";
    }
  break;
  default:
    echo "No se encontraron recomendaciones que se ajusten a ti";

}
?>

Dejo el desafio de la clase:

<?php
/* Tener una lista de ciudades con un clima y una ubicaci贸n especifica */
function recomendacion() {
  $clima = array(
    "Bogota" => "frio",
    "Monteria" => "calido",
    "Medellin" => "templado"
  ); # Array asociativo
  $ubicacion = array(
    "Guajira" => "norte",
    "Leticia" => "sur",
    "Santander" => "este",
    "Antioquia" => "oeste"
  );
  $turismo = array(
    "Santa Marta" => "mar",
    "Villavicencio" => "llanos",
    "Riohacha" => "desierto",
    "Quindio" => "valle"
  );

  switch("turismo") {
    case "clima":
      echo array_search("frio", $clima); # Se usa para mostrar en texto el codigo
    break; # Finaliza el case
    case "ubicacion":
     echo array_search("norte", $ubicacion);
    break;   
    case "turismo":
     echo array_search("mar", $turismo);
    break;   
  } # Para realizar busquedas
}

recomendacion();
?>

Buenas tardes
envio mi reto::

<?php
function eligueTuAmbienteFavorita($Dato,$Informacion)
{
$climate = array(
鈥楾u Ambiente Favorito es: Antartida鈥 => 鈥榝rio鈥,
鈥楾u Ambiente Favorito es: Maimi鈥 => 鈥榗alido鈥,
'Tu Ambiente Favorito es: Sau Paulo 鈥 => 鈥榯emplado鈥
);

$ubicacion = array(
  'Posicion de esta cuidad: Guajira' => 'Norte',
  'Posicion de esta cuidad: Leticia' => 'Sur',
  'Posicion de esta cuidad: Santander' => 'Este',
  'Posicion de esta cuidad: Antioquia' => 'Oeste'
);

$sigtseeing = array(
  'En Esta Cuidad Encuentras: Santa Marta' => 'Mar',
  'En Esta Cuidad Encuentras: Villavicencio' => 'Llano',
  'En Esta Cuidad Encuentras: Riohacha' => 'Desierto',
  'En Esta Cuidad Encuentras: Quindio' => 'Valle'
);

switch($Dato)
  {
    case 'climate':
      echo array_search($Informacion, $climate);
    break;
    case 'ubicacion':
      echo array_search($Informacion, $ubicacion);
    break;
    case 'sigtseeing ':
      echo array_search($Informacion, $sigtseeing );
    break;
}

}

eligueTuAmbienteFavorita(鈥渃limate鈥, 鈥渃alido鈥);
?>

<?php
function recomendacion () {
$weather = array (
鈥淏ogot谩鈥 => 鈥渇r铆o鈥,
鈥淢onter铆a鈥 => 鈥渃谩lido鈥,
鈥淢edell铆n鈥 => 鈥淭emplado鈥,
);

$ubication = array (
鈥淕uajira鈥 => 鈥淣orte鈥,
鈥淟eticia鈥 => 鈥淪ur鈥,
鈥淪antander鈥 => 鈥渆ste鈥,
鈥淎ntioquia鈥 => 鈥淥este鈥,
);

$sightseeing = array (
鈥淪anta Martha鈥 => 鈥淢ar鈥,
鈥淰illavicencio鈥 => 鈥淟lano鈥,
鈥淩iohacha鈥 => 鈥淒esierto鈥,
鈥淨uind铆o鈥 => 鈥淰alle鈥,
);

switch(鈥渟ightseeing鈥) {
case 鈥渨eather鈥:
echo array_search(鈥渃谩lido鈥,$weather);
break;

case 鈥渦bication鈥:
echo array_search(鈥淣orte鈥,$ubication);
break;

case 鈥渟ightseeing鈥:
echo array_search(鈥淒esierto鈥,$sightseeing);
break;

}
}

recomendacion()

?>

<<?php
/*tener una lista de ciudades con un clima y una ubicacion especifica*/
function recomendacion () {
$clima= array ("cucuta"=> "calor", "bogota"=> "frio", "medellin"=>"templado");
$ubicacion= array ("barranquilla" => "norte", "leticia"=>"sur", "salazar" => "oriente");
$turismo =array ("santa marta"=> "mar", "santander"=>"chicamocha", "quindio"=>"cafetales");
  switch ("turismo") {
    case "clima":
      echo array_search("calor", $clima);
    break;
    case "ubicacion";
      echo array_search("oriente", $ubicacion);
    break;
    case "turismo";
      echo array_search("chicamocha", $turismo);
    Break;
  }
  
}

recomendacion()> 

Mi ejemplo con lugares de Mexico

<?php

function recomendacion() 
{
    $clima = array("Durango" => "frio", "Yucatan" => "caliente", "Ciudad de Mexico" => "templado");
    $ubicacion = array("Monterrey" => "norte", "Chiapas" => "sur", "Veracruz" => "este", "Jalisco" => "oeste");
    $turismo = array("Quintana Roo" => "mar", "Chihuahua" => "sierra", "Sonora" => "desierto", "Oaxaca" => "valle");

  switch("turismo") {
    case "clima":
        echo array_search("frio", $clima);
        break;
    case "ubicacion":
        echo array_search("norte", $ubicacion);
        break;
    case "turismo":
        echo array_search("desierto", $turismo);
        break;
  }
}    

recomendacion();

?>

Pase 1 dia entero pensando hasta en mi trabajo que tenia mal en mi codigo, no queria rendirme y solamente tenia mal ordenados los break jaja, excelente practica

<?php 
//Este programa nos dara recomendaciones de lugares segun lo que busquemos

$clima = array("Bogot谩" => "frio", "Monter铆a" => "calido", "medell铆n" => "templado");
$ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");
$turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quind铆o" => "valle");

$opciones = readline("Segun que parametros prefiere buscar para darle algunas recomendaciones en colombia. 1) clima, 2) ubicaci贸n, 3) turismo. : ");

switch($opciones){
  case 1:
    $escoge_clima = readline("Que tipo de clima prefiere? 1) frio, 2) calido, 3) templado: ");
    switch($escoge_clima){
      case 1:
        $clave = array_search("frio",$clima);
        echo "El lugar ideal para usted es: " . ($clave);
      break;
      case 2:
        $clave = array_search("calido",$clima);
        echo "El lugar ideal para usted es: " . ($clave);
      break;
      case 3:
        $clave = array_search("templado",$clima);
        echo "El lugar ideal para usted es: " . ($clave);
      break;
    }
    break;
  case 2:
    $escoge_ubicacion = readline("Que tipo de ubicaci贸n prefiere? 1) norte, 2) sur, 3) este, 4) oeste: ");
    switch($escoge_ubicacion){
      case 1:
        $clave = array_search("norte",$ubicacion);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 2:
        $clave = array_search("sur",$ubicacion);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 3:
        $clave = array_search("este",$ubicacion);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 4:
        $clave = array_search("oeste",$ubicacion);
        echo "El lugar ideal para usted es: " . $clave;
      break;
    }
    break;
  case 3:
    $escoge_turismo = readline("Que tipo de lugar turistico prefiere? 1) mar, 2) llano, 3) desierto, 4) valle: ");
    switch($escoge_turismo){
      case 1:
        $clave = array_search("mar",$turismo);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 2:
        $clave = array_search("llano",$turismo);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 3:
        $clave = array_search("desierto",$turismo);
        echo "El lugar ideal para usted es: " . $clave;
      break;
      case 4:
        $clave = array_search("valle",$turismo);
        echo "El lugar ideal para usted es: " . $clave;
      break;
    }  
  break;
}
?>

Quise personalizar un poco la interacci贸n con el usuario y este fue el resultado 馃挌

Ac谩 pueden probar el c贸digo:

<?php

$weatherArray = array("Bogot谩" => "Cold", "Monter铆a" => "Hot", "Medellin" => "Mild");
$locationArray = array("Guajira" => "North", "Leticia" => "South", "Santander" => "East", "Antioquia" => "West");
$tourismArray = array("Santa Marta" => "Sea", "Villavicencio" => "Plains", "Riohacha" => "Desert", "Quind铆o" => "Valley");

$condicionPrincipal = readline("Selecciona la opci贸n preferida:\n1. Clima\n2. Ubicaci贸n\n3. Turismo\n");

switch($condicionPrincipal){
  case 1:
    $clima = readline("\n驴Cual clima prefiere?\n1. Fr铆o\n2. Calido\n3. Templado\n");
    switch($clima){
      case 1:
        $buscarClima = "Cold";
      break;
      case 2:
        $buscarClima = "Hot";
      break;
      case 3:
        $buscarClima = "Mild";
      break;
    }
    echo ("Basado en sus preferencias de Clima y " .$buscarClima."...");
    searchInArray($buscarClima, $weatherArray);
  break;
  case 2:
    $ubicacion = readline("\n驴Cual ubicaci贸n prefiere?\n1. Norte\n2. Sur\n3. Este\n4. Oeste\n");
    switch($ubicacion){
      case 1:
        $buscarUbicacion = "North";
      break;
      case 2:
        $buscarUbicacion = "South";
      break;
      case 3:
        $buscarUbicacion = "East";
      break;
      case 4:
        $buscarUbicacion = "West";
      break;
    }
    echo ("Basado en sus preferencias de Ubicacion y " .$buscarUbicacion."...");
    searchInArray($buscarUbicacion, $locationArray);
  break;
  case 3:
    $turismo = readline("\n驴Qu茅 tipo de turismo prefiere?\n1. Mar\n2. Llano\n3. Desierto\n4. Valle\n");
  switch($turismo){
      case 1:
        $buscarTurismo = "Sea";
      break;
      case 2:
        $buscarTurismo = "Plains";
      break;
      case 3:
        $buscarTurismo = "Desert";
      break;
      case 4:
        $buscarTurismo = "Valley";
      break;
    }
    echo ("Basado en sus preferencias de Turismo y " .$buscarTurismo."...");
    searchInArray($buscarTurismo, $tourismArray);
  break;
}

// Funci贸n para buscar en cualquier arreglo
function searchInArray($valor, $arreglo){
  $llaveEncontrada = array_search($valor, $arreglo);
  echo "<br>";   
  echo ("Le recomendamos la ciudad ".$llaveEncontrada." ");
}

?>

Hize una Version mia de seleccionador de Distritos Lime帽os, con algo de sarcasmo dentro.

Y puedo usar la consola de replit para seleccionar la opcion que desee, pero no se como seleccionar las opciones que deseo en VS CODE, si alguien lo sabe me lo dice pls.

<?php
$Pituquery = array("San Borja" => "Ta Bien", "Molina" => "Fino", "Sani" => "El Olimpo");

$Nocturnlife = array("Barranco" => "BohemioGOD", "Miraflores" => "De lo mejorsito ah re", "La Vicky" => "No weon tierra invadida de negros");

$Exotism = array("Caraballo" => "Existen destinos peores que la muerte dicen", "Callao" => "Oe sano quieres que te roben compare?", "El Rimac" => "Habla causa quieres conocer el basural mas bonito?");

$search = readline("Seleccione su prioridad en un distrito 1.Pituqueria 2.Vida Nocturna 3.Exotismo  ");

switch($search){
case 1:
  $Pituqueria = readline("Seleccione su Level de PITUQUERIA preferencial: 
1.Ta bien 2.Fino 3.El Olimpo  ");
  switch($Pituqueria){
  case 1:
  $juan = array_search('Ta Bien', $Pituquery);
  echo "The district recomendado es ", $juan, "馃サ馃憤";
break;

  case 2:
  $cerropremium = array_search('Fino', $Pituquery);
  echo "The district recomendado es ", $cerropremium, " ======> Teoricamente es cerro y cono pero bue...馃馃";
 break;   

  Case 3:
  $clave = array_search('El Olimpo', $Pituquery);
  echo "The district recomendado es ", $clave, " ===> Tambien Llamado SaniGOD AKA el Olimpo de Lema馃挵馃挵馃槑馃槑鉁岋笍鉁岋笍";
    break;
}
break;

  case 2:
  $Vidanocturna = readline("Seleccione su nivel de desbande favorito: 1.BohemioGOD 2.Oh yes aqui hay gringos 3.Quieres comprar esclavos?  ");
  switch($Vidanocturna){
    case 1:
    $clave = array_search('BohemioGOD', $Nocturnlife);
    echo "The district perfect for you is ", $clave, " 鉂わ笍鈥嶐煍モ潳锔忊嶐煍ヰ煍ヰ煍";
    break;

    case 2:
    $clave = array_search('De lo mejorsito ah re', $Nocturnlife);
    echo "The district perfect for you is ", $clave, "馃尪锔忦煂讹笍馃弰馃徎鈥嶁檪锔忦煆勷煆烩嶁檧锔忊湌锔忊湌锔忦煈煆火煈煆";
    break;

    case 3:
    $clave = array_search('No weon tierra invadida de negros', $Nocturnlife);
    echo "The district perfect for you is ", $clave, "馃枻馃悎鈥嶁瑳馃悎鈥嶁瑳馃馃徔鈥嶁檪锔忦煣旔煆库嶁檪锔";
    break;
  }
break;

case 3:
  $Exotismo = Readline("Seleccione su exotismo favorito: 1.Existen destinos peores que la muerte dicen 2.Oe sano quieres que te roben compare? 3.Habla causa quieres conocer el basural mas bonito?  ");
  switch($Exotismo){
    case 1:
    $clave = array_search('Existen destinos peores que la muerte dicen', $Exotism);
    echo "The district perfect for you is ", $clave, "馃拃鈽狅笍";
    break;

    case 2:
    $clave = array_search('Oe sano quieres que te roben compare?...', $Exotism);
    echo "The district perfect for you is ", $clave, "馃馃徔鈥嶁檪锔忦煣氿煆库嶁檪锔";
    break;

    case 3:
    $clave = array_search('Habla causa quieres conocer el basural mas bonito?', $Exotism);
    echo "The district perfect for you is ", $clave, "馃棏锔忦煑戯笍";
    break;
  }
  break;
}
?>

<?php
/* Tener una lista de ciudaddes con clima y una ubicaci贸n espec铆fica*/

function recomendacion(){
$clima = array(鈥淏otogota鈥 => 鈥渇rio鈥,
鈥淢onteria鈥 => 鈥渃alido鈥, 鈥淢edellin鈥 => 鈥淭emplado鈥);

$ubicacion = array(鈥淕uajira鈥 => 鈥渘orte鈥, 鈥淟eticia鈥 => 鈥渟ur鈥,
鈥淪antander鈥 => 鈥淓ste鈥, 鈥淎ntioquia鈥 => 鈥渙este鈥);

$turismo = array(鈥淪anta Marta鈥 => 鈥淢ar鈥, 鈥淰illavicencio鈥 => 鈥渓lanos鈥,
鈥淩iohacha鈥 => 鈥渄esierto鈥, 鈥淨uindio鈥 => 鈥渧alle鈥);

switch(鈥渦bicacion鈥){
case 鈥渃lima鈥:
echo array_search(鈥渇rio鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渟ur鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥淢ar鈥, $turismo);
break;
}
}
recomendacion();
?>

Resuelto 馃槂

no me realiza la busqueda, y estoy mirando el codigo es el mismo pero no me muestra el resultado deberia ser bogota, pero no lo hace
no me siento muy convencido porque en la clase antrerior la indicacion dice que cambiempos el nombre del index a buscador y en este ya dice index porque a mi no me corria y no dice el porque para que no me pierda, ( *la verdad estoy aprendiendo de cero y no me quedo muy claro* )
```ts "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
```html "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
lenguaje en php. ```txt "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ```
lenguaje php. ```js "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
Lenguaje en php. ```js <html> <head> <title>PHP Test</title> </head> <body> "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> </html> ```
lenguaje php. ```js <html> <head> <title>PHP Test</title> </head> <body> "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> </html> ```
Comparto mi soluci贸n: ```js "frio", "Monter铆a" => "calido", "Medell铆n" => "templado" ); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste" ); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle" ); switch("clima"){ case "clima": $resultado_clima = array_search("frio", $clima); echo "La ciudad recomendada es: "; print_r($resultado_clima); break; case "ubicacion": $resultado_ubicacion = array_search("norte", $ubicacion); echo "La ciudad recomendada es: "; print_r($resultado_ubicacion); break; case "turismo": $resultado_turismo = array_search("mar", $turismo); echo "La ciudad recomendada es: "; print_r($resultado_turismo); break; } } recomendacion(); ?> ```
Comparto mi soluci贸n \ "frio", "Monter铆a" => "calido", "Medell铆n" => "templado" ); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste" ); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle" ); switch("clima"){ case "clima": $resultado\_clima = array\_search("frio", $clima); echo "La ciudad recomendada es: "; print\_r($resultado\_clima); break; case "ubicacion": $resultado\_ubicacion = array\_search("norte", $ubicacion); echo "La ciudad recomendada es: "; print\_r($resultado\_ubicacion); break; case "turismo": $resultado\_turismo = array\_search("mar", $turismo); echo "La ciudad recomendada es: "; print\_r($resultado\_turismo); break; } } recomendacion(); ?>
```js "frio", "Villavicencio" => "Calido", "Pereira" => "Templado"); $ubicacion = array("Guajira" => "Norte", "Mocoa" => "Sur", "Yopal" => "Oriente"); $turismo = array("Santa Marta" => "Mar", "Villavicencio" => "Joropo", "Medellin" => "Paisitas"); #crear swich para verificar si cumple con las condiciones de interes switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ?> ```Como recomendacion personal: Pilas con mayusculas minusculas puntos comas y cualquier cosa con que denominen cualquiere elemento. PHP no perdona y no olvida.
```js "frio", "Villavicencio" => "Calido", "Pereira" => "Templado"); $ubicacion = array("Guajira" => "Norte", "Mocoa" => "Sur", "Yopal" => "Oriente"); $turismo = array("Santa Marta" => "Mar", "Villavicencio" => "Joropo", "Medellin" => "Prepagos"); #crear swich para verificar si cumple con las condiciones de interes switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ?> ```Como recomendacion por experiencia propia: Pongan cuidado a las mayusculas, minusculas con las que nombran y escriben las caracteristicas de los elementos que conforman tanto arrays como variables. PHP No perdona y no olvida.
```js "Frio" , "ese clima lo encuentras en Cali" => "caliente" , "ese clima lo encuentras en Medell铆n" => "Chimbita"); $ubicacion = array("en esa ubicaci贸n encuentras Bogot谩" => "centro" , "en esa ubicaci贸n encuentras Cali" => "sur" , "en esa ubicaci贸n encuentras Medellin" => "norte"); $comida = array("eso lo puedes comer en Bogot谩" => "changua" , "eso lo puedes comer en Cali" => "chuleta" , "eso lo puedes comer en Medellin" => "Chicharron"); switch("altura") { case "clima": echo array_search("Chimbita" , $clima); break; case "ubicacion": echo array_search("sur" , $ubicacion); break; case "comida": echo array_search("changua" , $comida); break; default: echo "preg煤ntale a chatgpt"; break; } } recomendacion(); ?> ```\ "Frio" , "ese clima lo encuentras en Cali" => "caliente" , "ese clima lo encuentras en Medell铆n" => "Chimbita"); $ubicacion = array("en esa ubicaci贸n encuentras Bogot谩" => "centro" , "en esa ubicaci贸n encuentras Cali" => "sur" , "en esa ubicaci贸n encuentras Medellin" => "norte"); $comida = array("eso lo puedes comer en Bogot谩" => "changua" , "eso lo puedes comer en Cali" => "chuleta" , "eso lo puedes comer en Medellin" => "Chicharron"); switch("altura") { case "clima": echo array\_search("Chimbita" , $clima); break; case "ubicacion": echo array\_search("sur" , $ubicacion); break; case "comida": echo array\_search("changua" , $comida); break; default: echo "preg煤ntale a chatgpt"; break; } } recomendacion(); ?>
```js "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") { case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ```\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") { case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } recomendacion();
\ "Frio", "Monteria" => "Calido", "Medellin" => "Templado" ); $ubicacion = array ("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste"); $turismo = array ("Santa Marta" => "Mar", "Villavicencio" => "Llanos", "Riocha" => "Desierto", "Quindio" => "Valle"); $comida= array ( "Sancocho" => "Costa" ) ; switch("comida"){ case "clima": echo array\_search("Calido", $clima); break; case "ubicacion": echo array\_search("Este", $ubicacion); break; case "turismo": echo array\_search("Desierto", $turismo); break; case "comida": echo array\_search("Costa", $comida); break; } } recomendacion(); ?>
bua lo que sufr铆 por no poner ';' jajajajaa muy divertido esto de la programaci贸n, puede que genere algo de dolor de cabeza pero es un mundo genial
```html "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array ("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto","Quindio" => "valle"); switch($busqueda){ case "clima"; echo "驴Ciudad/departamento con clima frio ? "; echo array_search("frio", $clima); break; case "ubicacion"; echo '

'; echo "驴Ciudad/departamento en el oeste? "; echo array_search("oeste", $ubicacion); break; case "turismo"; echo '

'; echo "驴Ciudad/departamento con mar? "; echo array_search("mar", $turismo); break; default; echo "no hay resultados"; } } recomendacion("clima"); recomendacion("ubicacion"); recomendacion("turismo"); ?> ```

\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array ("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto","Quindio" => "valle"); switch($busqueda){ case "clima"; echo "驴Ciudad/departamento con clima frio ? "; echo array\_search("frio", $clima); break; case "ubicacion"; echo '\

'; echo "驴Ciudad/departamento en el oeste? "; echo array\_search("oeste", $ubicacion); break; case "turismo"; echo '\

'; echo "驴Ciudad/departamento con mar? "; echo array\_search("mar", $turismo); break; default; echo "no hay resultados"; } } recomendacion("clima"); recomendacion("ubicacion"); recomendacion("turismo"); ?>

```js "Frio", "Monteria" => "Calido", "Medellin" => "Templado" ); $ubicacion = array ("Guajira"=> "Norte", "Leticia"=>"Sur", "Santander"=>"Este", "Antioquia"=>"Oeste"); $turismo = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llanos", "Rioacha"=>"Desierto", "Quindio"=>"Valle" ); switch("turismo"){ case "clima": array_search("Frio",$clima); echo array_search("Frio", $clima); break; case "ubicacion": array_search("Norte",$ubicacion); echo array_search("Norte", $ubicacion); break; case "turismo": array_search("Mar",$turismo); echo array_search("Mar", $turismo); break; } } recomendacion(); ?> ```
el trabajo terminado, aclaro que, el programa replit a mi me dej贸 de funcionar correctamente, por ende recurr铆 a otros en l铆nea, pero qued贸 bien, me qued贸 un poco dif铆cil gestionar como hacer un salto de linea, solo pude lograr que las palabra se separaran un poco.馃憤 ![](https://static.platzi.com/media/user_upload/androo%20-159427b9-4d1c-4a95-9c69-6566c8402f35.jpg)
![](https://static.platzi.com/media/user_upload/imagen-b3866cb1-60d4-4e8b-b69d-33b8866826f2.jpg) Es lo que pude hacer con ayuda del video
\ "calido", "Rocha" => "frio", "Colonia" => "templado"); $ubicacion = array("Artigas" => "norte", "Rocha" => "sur", "Colonia" => "oeste"); $turismo = array("Artigas" => "mineria", "Rocha" => "playas", "Colonia" => "historia"); switch("turismo") { case "clima": echo array\_search("templado", $clima); break; case "ubicacion": echo array\_search("oeste", $ubicacion); break; case "turismo": echo array\_search("historia", $turismo); break; } } recomendacion(); ?>
<
<?php
$clima = array('frio' => 'Bogot谩', 'calido' => 'Monter铆a', 'templado' => 'Medellin');
$ubicacion = array('norte' => 'Guajira', 'sur' => 'Leticia', 'este' => 'Santander', 'oeste' => 'Antioquia');
$turismo = array('mar' => 'Santa Marta', 'llano' => 'Villavicencio', 'desierto' => 'Riohacha', 'valle' => 'Quindio');

$tipoBusqueda = (string)readline("Ingrese el tipo de busqueda: clima, ubicacion o turismo: ");

switch ($tipoBusqueda) {
  case 'clima':
    $tipoClima = (string)readline("Ingrese el tipo de clima: frio, calido, templado: ");
    
  switch ($tipoClima) {
      case 'frio':
        print "usted debe ir a {$clima['frio']}";
      break;
      
      case 'calido':
        print "usted debe ir a  {$clima['calido']}";
      break;
      
      case 'templado':
        print "usted debe ir a {$clima['templado']}";
      break;
  }
  break;
  
  case "ubicacion":
    $tipoUbicacion = (string)readline("Ingrese la ubicacion cardinal: norte, sur, este, oeste: ");
  
  switch( $tipoUbicacion) {
    case 'norte':
      print "usted debe ir a {$ubicacion['norte']}";
    break;

    case 'sur':
      print "usted debe ir a  {$ubicacion['sur']}";
    break;

    case 'este':
      print "usted debe ir a {$ubicacion['este']}";
    break;
    
    case 'oeste':
      print "usted debe ir a {$ubicacion['oeste']}";
    break;
  }
  break;

  case "turismo":
   $tipoTurismo = (string)readline("Ingrese el tipo de turismo que desea realizar: mar, llano, desierto, valle: ");
  
  switch( $tipoTurismo) {
    case 'mar':
      print "usted debe ir a {$turismo['mar']}";
    break;

    case 'llano':
      print "usted debe ir a  {$turismo['llano']}";
    break;

    case 'desierto':
      print "usted debe ir a {$turismo['desierto']}";
    break;

    case 'valle':
      print "usted debe ir a {$turismo['valle']}";
    break;
  }
  break;

  default:
   echo "el valor buscado no existe como criterio de busqueda.";
   break;

}

?>
> 
\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubAicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("turismo") { case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; } } reccomendacion(); ?>
```js "frio", "Monter铆a" => "calido", "Medell铆n" => "templado"); $ubication = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $tourism = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Rioacha" => "desierto", "Quindio" => "valle" ); $search = readline("Seleccione la opci贸n de su interes: 1.Clima 2.Ubicaci贸n 3.Turismo"); switch($search) { case 1: $clima = readline("Seleccione el clima favorito: 1.Fr铆o 2.C谩lido 3.Templado"); switch($clima) { case 1: $clave = array_search('frio', $weather); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array_search('calido', $weather); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array_search('templado', $weather); echo "La ciudad recomendada es ", $clave; break; } break; case 2: $ubicacion = readline("Seleccione la ubicaci贸n favorita: 1.Norte 2.Sur 3.Este 4.Oeste"); switch($ubicacion) { case 1: $clave = array_search('norte', $ubication); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array_search('sur', $ubication); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array_search('este', $ubication); echo "La ciudad recomendada es ", $clave; break; case 4: $clave = array_search('oeste', $ubication); echo "La ciudad recomendada es ", $clave; break; } break; case 3: $turismo = readline("Seleccione el turismo favorito: 1.Mar 2.Llano 3.Desierto 4.Valle"); switch($turismo) { case 1: $clave = array_search('mar', $tourism); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array_search('llano', $tourism); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array_search('desierto', $tourism); echo "La ciudad recomendada es ", $clave; break; case 4: $clave = array_search('valle', $tourism); echo "La ciudad recomendada es ", $clave; break; } break; default: echo "Opci贸n no v谩lida"; } ?> ```\ "frio", "Monter铆a" => "calido", "Medell铆n" => "templado"); $ubication = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $tourism = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Rioacha" => "desierto", "Quindio" => "valle" ); $search = readline("Seleccione la opci贸n de su interes: 1.Clima 2.Ubicaci贸n 3.Turismo"); switch($search) { case 1: $clima = readline("Seleccione el clima favorito: 1.Fr铆o 2.C谩lido 3.Templado"); switch($clima) { case 1: $clave = array\_search('frio', $weather); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array\_search('calido', $weather); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array\_search('templado', $weather); echo "La ciudad recomendada es ", $clave; break; } break; case 2: $ubicacion = readline("Seleccione la ubicaci贸n favorita: 1.Norte 2.Sur 3.Este 4.Oeste"); switch($ubicacion) { case 1: $clave = array\_search('norte', $ubication); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array\_search('sur', $ubication); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array\_search('este', $ubication); echo "La ciudad recomendada es ", $clave; break; case 4: $clave = array\_search('oeste', $ubication); echo "La ciudad recomendada es ", $clave; break; } break; case 3: $turismo = readline("Seleccione el turismo favorito: 1.Mar 2.Llano 3.Desierto 4.Valle"); switch($turismo) { case 1: $clave = array\_search('mar', $tourism); echo "La ciudad recomendada es ", $clave; break; case 2: $clave = array\_search('llano', $tourism); echo "La ciudad recomendada es ", $clave; break; case 3: $clave = array\_search('desierto', $tourism); echo "La ciudad recomendada es ", $clave; break; case 4: $clave = array\_search('valle', $tourism); echo "La ciudad recomendada es ", $clave; break; } break; default: echo "Opci贸n no v谩lida"; } ?>
` "frio", "Monter铆a" => "calido", "Medell铆n" => "templado");` `$ubication = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", ` `"Antioquia" => "oeste");` `$tourism = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Rioacha" => "desierto", ` `"Quindio" => "valle" );` `$search = readline("Seleccione la opci贸n de su interes: 1.Clima 2.Ubicaci贸n 3.Turismo");` `switch($search) {` ` case 1:` ` $clima = readline("Seleccione el clima favorito: 1.Fr铆o 2.C谩lido 3.Templado");` ` switch($clima) {` ` case 1:` ` $clave = array_search('frio', $weather);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 2:` ` $clave = array_search('calido', $weather);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 3:` ` $clave = array_search('templado', $weather);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` }` ` break;` ` ` ` case 2:` ` $ubicacion = readline("Seleccione la ubicaci贸n favorita: 1.Norte 2.Sur 3.Este 4.Oeste");` ` switch($ubicacion) {` ` case 1:` ` $clave = array_search('norte', $ubication);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 2:` ` $clave = array_search('sur', $ubication);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 3:` ` $clave = array_search('este', $ubication);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 4:` ` $clave = array_search('oeste', $ubication);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` }` ` break;` ` ` ` case 3:` ` $turismo = readline("Seleccione el turismo favorito: 1.Mar 2.Llano 3.Desierto 4.Valle");` ` switch($turismo) {` ` case 1:` ` $clave = array_search('mar', $tourism);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 2:` ` $clave = array_search('llano', $tourism);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 3:` ` $clave = array_search('desierto', $tourism);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` case 4:` ` $clave = array_search('valle', $tourism);` ` echo "La ciudad recomendada es ", $clave;` ` break;` ` }` ` break;` ` ` ` default:` ` echo "Opci贸n no v谩lida";` `}` `?>`
```js "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") /*function search*/{ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("llanos", $turismo); break; } } recomendacion(); ?> ```\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") /\*function search\*/{ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("llanos", $turismo); break; } } recomendacion(); ?>
En vez de tener la opci贸n switch (clima) y hacer el cambio manual Se puede cambiar por la operaci贸n "switch ($opcion)" as铆 se hacen casos uno a uno dependiendo las necesidades clima ubicaci贸n y turismo y ejecutandolas en la terminal y mostrando el resultado en pantalla
![](https://static.platzi.com/media/user_upload/image-4ceec76c-bf17-4bbf-be13-ab726ad78186.jpg)
\ 'frio', 'Monter铆a' => 'calido', 'Medellin'=> 'templado'); $ubicacion = array('Guajira' => 'norte', 'Leticia' => 'sur', 'Santander'=> 'este', 'Antioquia'=> 'oeste'); $turismo = array('Santa marta' => 'mar', 'Villavo' => 'llanos', 'Riohacha'=> 'desierto', 'Quindio'=> 'valle'); switch($tipo){ case 'clima': echo array\_search(strtolower($valor), array\_map('strtolower', $clima)); break; case 'ubicacion': echo array\_search(strtolower($valor), array\_map('strtolower', $ubicacion)); break; case 'turismo': echo array\_search(strtolower($valor), array\_map('strtolower', $turismo)); break; default: echo "Tipo no v谩lido"; break; } } // Ejemplo de uso recomendaciones('clima', 'calido'); // ?>
![](https://static.platzi.com/media/user_upload/image-53f98b60-6d42-474a-be4d-1b0de668b257.jpg) Perd貌n por lo Noob :'c
驴Puede alguien revisar mi codigo? Me dice que hay un error en la linea 5 pero no s茅 cu谩l es: ![]()![](file:///Users/JhonatanCabezas/Desktop/Captura%20de%20pantalla%202024-02-17%20a%20la\(s\)%207.24.20%E2%80%AFp.%C2%A0m..png)\ "Frio", => "Monteria" => "Calido", "Medellin" => "Humedo"); $ubicacion array("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste"); $turismo array("Santa Marta" => "Mar", "Villavicencio" => "Llano", "Riohacha" => "Desierto", "Quindio" => "Valle"); switch("clima") { case "clima": echo array\_search("Calido", $clima); break; case "ubicacion": echo array\_search("Norte", $ubicacion); break; } } recomendacion(); ?> Tampoco supe como poner el pantallazo aqu铆 :v ![](<Captura de pantalla 2024-02-17 a la(s) 7.24.20鈥痯.聽m.>)
les dejo la documentaci贸n de PHP para que puedan seguir aprendiendo este lenguaje de programaci贸n con las herramientas necesarias: <https://www.php.net/manual/es/index.php>
Mi soluci贸n:![](https://static.platzi.com/media/user_upload/image-4345d118-7b23-4773-876a-d3f65bd51a06.jpg):
```js "cold", "Monter铆a" => "hot", "Medell铆n" => "mild"); $ubication = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $tourism = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Rioacha" => "desierto", "Quind铆o" => "valle"); $search = readline("Seleccione la opci贸n de su inter茅s: 1.Clima 2.Ubicaci贸n 3.Turismo"); switch($search){ case 1: $clima = readline("Seleccione el clima favorito: 1.Fr铆o 2.C谩lido 3.Templado"); switch($clima){ case 1: $clave = array_search('cold', $weather); echo "La ciudad recomendada es: " , $clave; break; case 2: $clave = array_search('hot', $weather); echo "La ciudad recomendada es: " , $clave; break; case 3: $clave = array_search('mild', $weather); echo "La ciudad recomendada es: " , $clave; break; } break; case 2: $ubicacion = readline("Seleccione la ubicaci贸n favorita: 1.Norte 2.Sur 3.Este 4.Oeste"); switch($ubicacion){ case 1: $clave = array_search('norte' , $ubication); echo "La ciudad recomendada es: " , $clave; break; case 2: $clave = array_search('sur' , $ubication); echo "La ciudad recomendada es: " , $clave; break; case 3: $clave = array_search('este' , $ubication); echo "La ciudad recomendada es: " , $clave; break; case 4: $clave = array_search('oeste' , $ubication); echo "La ciudad recomendada es: " , $clave; break; } break; case 3: $turismo = readline("Seleccione el paisaje favorito: 1.Mar 2.Llano 3.Desierto 4.Valle"); switch($turismo){ case 1: $clave = array_search('mar' , $tourism); echo "La ciudad recomendada es: " , $clave; break; case 2: $clave = array_search('llano' , $tourism); echo "La ciudad recomendada es: " , $clave; break; case 3: $clave = array_search('desierto' , $tourism); echo "La ciudad recomendada es: " , $clave; break; case 4: $clave = array_search('valle' , $tourism); echo "La ciudad recomendada es: " , $clave; break; } break; } } recomendacion(); ?> ```
![](https://static.platzi.com/media/user_upload/3-cddfa471-eca3-467e-9462-0e892b49ed91.jpg) :D
Realic茅 dos consultas para tener el resultado, para ello cre茅 tres archivos, esto lo hago mientras aprendo a llamar diferentes funciones desde un formulario y cargar o escribir en pantalla desde funciones de php :P 1. hago la primera consulta de criterio ![](https://static.platzi.com/media/user_upload/image-640a8059-3f03-40ec-b79b-094dd2c04f00.jpg) 2. Al seleccionar hago la segunda consulta segun el criterio usado previamente ![](https://static.platzi.com/media/user_upload/image-a550bb2b-4db6-4841-a84e-d8acd29c5ace.jpg) 3. Por 煤ltimo hago la busqueda y mostramos el resultado ![](https://static.platzi.com/media/user_upload/image-fa2b3f2b-2bb1-48e3-8aea-6481b098e05e.jpg)
Gracias a los videos logre hacer el reto11 y lo realize de la siguiente manera:![](https://static.platzi.com/media/user_upload/Reto11-90f8f923-03f9-4bfd-8775-4809382e09a9.jpg)

Mi c贸digo:

<?php

    #It returns a recommendation based on the user search category

    function recommendation($category) {

        $city;

        $weather = array('Bogota' => 'cold', 'Monter铆a' => 'hot', 'Medell铆n' => 'mild');

        $location = array('Santander' => 'east', 'Leticia' => 'south',
        'Antioquia' => 'west', 'Guajira' => 'north');

        $tourism = array('Santa Marta' => 'beach', 'Riohacha' => 'desert',
        'Villavicencio' => 'plain', 'Quind铆o' => 'valley');

        switch($category) {

            case 'weather':
                $city = array_search('hot', $weather);
                break;
            case 'location':
                $city = array_search('south', $location);
                break;
            case 'tourism':
                $city = array_search('valley', $tourism);
                break;
            default:
                $city = 'Not found';
                break;
        };

        echo'I recommend you to visit ', $city, ', because of the ', $category;
    };

    recommendation('weather');
?>s
Intente hacerlo de la siguiente manera para incluir tanto la ubicaci贸n, turismo y el clima, pero no se pq no funciona :c. Acepto sugerencias o ayudas (de paso hice las variables en ingl茅s para fortalecer el idioma aksdka) ` "cold","Monter铆a" => "hot","Medell铆n" => "mild");` ` $ubication = array("Guajira" => "norte", "Litic铆a" => "sur", "Santander" => "este");` ` $tourism = array("Santa Marta" => "mar", "Villavicenio" => "llano", "Rioacha" => "desierto");` `}` `searcher($weather, "cold", "mind", "hot");` `searcher($ubication, "norte", "sur", "este");` `searcher($tourism, "mar", "llano", "desierto");` `?>`
Alguien sabe c贸mo desactivar el Microsoft Defender :p? ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-01-09%20112803-c97612c0-1115-4669-91d3-92f21e001cc9.jpg)

<?php
/* Tener una lista de ciudades con un clima y una ubicaci贸n especifica */

function recomendacion() {
$clima = array(鈥淏ogota鈥 => 鈥渇rio鈥, 鈥淢onteria鈥 => 鈥渃alido鈥, 鈥淢edellin鈥 => 鈥渢emplado鈥);

$ubicacion = array(鈥淕uajira鈥 => 鈥渘orte鈥, 鈥淟eticia鈥 => 鈥渟ur鈥, 鈥淪antanter鈥 => 鈥渆ste鈥, 鈥淎ntioquia鈥 => 鈥渙este鈥);

$turismo = array(鈥淪anta Marta鈥 => 鈥渕ar鈥, 鈥淰illavicencio鈥 => 鈥渓lanos鈥, 鈥淩iohacha鈥 => 鈥渄esierto鈥, 鈥淨uindio鈥 => 鈥渧alle鈥);

switch(鈥渢urismo鈥) {
case 鈥渃lima鈥:
echo array_search(鈥渃alido鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渘orte鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥渄esierto鈥, $turismo);
break;
}
}
recomendacion();

?>

Soluci贸n `"cold",` ` "Monteria"=>"hot",` ` "Medellin"=>"mild");` ` $location=array("Guajira"=>"north",` ` "Leticia"=>"south",` ` "Santander"=>"east",` ` "Antioquia" =>"west");` ` $tourism=array("Santa Marta"=>"sea",` ` "Villavicencio"=> "llanos",` ` "Riohacha"=>"desierto",` ` "Quindio"=>"valle");` ` switch($type){` ` case "weather":` ` echo array_search($search,$weather);` ` break;` ` case "location":` ` echo array_search($search,$location);` ` break;` ` case "tourism":` ` echo array_search($search,$tourism);` ` break;` ` }` `}` `recommendation("weather","hot");` `?>`
C贸digo ya con turismo **\ "frio", "Monteria" => "calido", "Medellin" => "templado");** **$ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");** **$turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle");** **switch("turismo") {** **case "clima" :** **echo array\_search("frio", $clima);** **break;** **** **case "ubicacion":** **echo array\_search("norte", $ubicacion);** **break;** **case "turismo":** **echo array\_search("mar", $turismo);** **break;** **}** **}** **recomendacion();** **?>**
Comparto el caso de turismo: ![](https://static.platzi.com/media/user_upload/image-c151168c-9110-4ec8-b3de-6fa227c337be.jpg)
Este es mi c贸digo optimizado: ![](https://static.platzi.com/media/user_upload/Prueba-d3807b1a-f306-4619-a018-8ca0bf1e2000.jpg)
Envio ejemplo un poco optimizado donde no utilizo echo sino print\_r lo hace un poco mas corto aunque no se si mas optimo, cualquier sugerencia para optimizar se aceptara con gusto :) ![](https://static.platzi.com/media/user_upload/buscador%20php%20basicop%20v2-28813e45-3b75-4d78-9cad-9e1c24ed0dd3.jpg) Envio ejemplo propuesto por la profesora tambien ![](https://static.platzi.com/media/user_upload/buscador%20php%20basicop-0d0087c0-d3f9-4b24-b6aa-1d600b1619d8.jpg) NO SE RINDAN CADA VEZ MAS CERCA A LA META!!!
Recuerden cambiar el nombre del archivo a index.php de lo contrario no correra 馃槄
```python 'frio', 'Monteria' => 'calido', 'Medellin' => 'templado' ); $ubicacion = array( 'Guajira' => 'Norte', 'Leticia' => 'Sur', 'Santander' => 'Este', 'Antioquia' => 'Oeste' ); $turismo = array( 'Santa Marta' => 'Mar', 'Villavicencio' => 'Llano', 'Riohacha' => 'Desierto', 'Quindio' => 'Valle' ); switch($array) { case 'clima': echo array_search($tipo, $clima); break; case 'ubicacion': echo array_search($tipo, $ubicacion); break; case 'turismo': echo array_search($tipo, $clima); break; } } busqueda("ubicacion", "Norte"); /* SOLUCION 2 En comparacion al primero, debemos ingresar los datos de busqueda cada vez que nos pregunta por consola. Uso readline para ingresar los datos y lo guardo en una variable, la cual la utilizo para realizar la busqueda de la ciudad. La desventaja que noto es que esta solucion utiliza mas lineas de codigo y quizas mas memoria. La ventaja es que es mas facil de entender todo el proceso. */ $climas = array("Bogota" => "frio", "Monter铆a" => "calido","Medell铆n" => "templado"); $ubicacion = array ("Guajira"=> "Norte", "Leticia"=>"Sur", "Santander"=>"Este", "Antioquia"=>"Oeste"); $turismo = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llano", "Rioacha"=>"Desierto", "Quindio"=>"Valle" ); $selecarr = readline("Buscar Ciudad por: Clima, Ubicacion o Turismo? "); switch ($selecarr) { case "Clima": $selecclima = readline("Buscar Clima por: Frio, Calido o Templado? "); switch ($selecclima){ case "Frio": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('frio', $climas)); break; case "Calido": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('calido', $climas)); break; case "Templado": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('templado', $climas)); break; } break; case "Ubicacion": $selecubi = readline("Buscar Ubicacion por: Norte, Sur, Este u Oeste? "); switch ($selecubi){ case "Norte": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Norte', $ubicacion)); break; case "Sur": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Sur', $ubicacion)); break; case "Este": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Este', $ubicacion)); break; case "Oeste": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Oeste', $ubicacion)); break; } break; case "Turismo": $selecturi = readline("Buscar Turismo por: Mar, Llano, Desierto o Valle? "); switch ($selecturi){ case "Mar": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Mar', $turismo)); break; case "Llano": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Llano', $turismo)); break; case "Desierto": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Desierto', $turismo)); break; case "Valle": print_r ("Te recomiendo la ciudad de: "); print_r (array_search('Valle', $turismo)); break; } break; } ?> ```
JS\* ```js let busqueda = ""; let recomendacion = (busqueda) => { let clima = { "Bogota": "frio", "Monteria": "hot", "Medellin": "templado" } let ubicacion = { "Guajira": "norte", "Leticia": "sur", "Santander": "este", "Antioquia": "oeste" } let turismo = { "Santa Marta": "mar", "Villavicencio": "llano", "Riohacha": "desierto", "Quindio": "valle" } switch(busqueda){ case "clima": console.log(clima.Bogota); break; case "ubicacion": console.log(ubicacion.Leticia); break; case "turismo": console.log(turismo.Quindio); break; default: console.log("Ingresa un valor valido"); break; } } recomendacion("clima"); ```
JS: ```js let busqueda = ""; let recomendacion = (busqueda) => { let clima = { "Bogota": "frio", "Monteria": "hot", "Medellin": "templado" } let ubicacion = { "Guajira": "norte", "Leticia": "sur", "Santander": "este", "Antioquia": "oeste" } let turismo = { "Santa Marta": "mar", "Villavicencio": "llano", "Riohacha": "desierto", "Quindio": "valle" } switch(busqueda){ case "clima": console.log(clima.Bogota); break; case "ubicacion": console.log(ubicacion.Leticia); break; case "turismo": console.log(turismo.Quindio); break; default: console.log("Ingresa un valor valido"); break; } } recomendacion("clima"); ```let busqueda = ""; let recomendacion = (busqueda) => { let clima = { "Bogota": "frio", "Monteria": "hot", "Medellin": "templado" } let ubicacion = { "Guajira": "norte", "Leticia": "sur", "Santander": "este", "Antioquia": "oeste" } let turismo = { "Santa Marta": "mar", "Villavicencio": "llano", "Riohacha": "desierto", "Quindio": "valle" } switch(busqueda){ case "clima": console.log(clima.Bogota); break; case "ubicacion": console.log(ubicacion.Leticia); break; case "turismo": console.log(turismo.Quindio); break; default: console.log("Ingresa un valor valido"); break; } } recomendacion("clima");
\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "este"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Ricochacha" => "dedierto", "Quindio" => "valle"); switch ($busqueda) { case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } echo "\

"; recomendaciones("clima"); echo "\

"; echo "\

"; recomendaciones("ubicacion"); echo "\

"; echo "\

"; recomendaciones("turismo"); echo "\

"; ?>

Tuve una idea de como mejorar el codigo

<?php
function obtenerRecomendacion($tipo, $valor) {
  $ciudades = [
    "Bogota" => ["clima" => "Frio", "ubicacion" => "Andina", "turismo" => "Cultural"],
    "Monteria" => ["clima" => "Calido", "ubicacion" => "Caribe", "turismo" => "Playas"],
    "Medellin" => ["clima" => "Templado", "ubicacion" => "Andina", "turismo" => "Cultural"]
  ];

  foreach ($ciudades as $ciudad => $atributos) {
    if (isset($atributos[$tipo]) && $atributos[$tipo] === $valor) {
      return $ciudad;
    }
  }

  return "No se encontr贸 ninguna ciudad con ese $tipo igual a $valor";
}

$recomendacion = obtenerRecomendacion('turismo', 'Playas');
echo $recomendacion;
?>

Este es mi codigo, si alguien sabe como hacer alerts o alguna forma de recibir inputs del usuario podrian decirmo como : P

<?php 
function recomendacion ($caracteristica,$clase){
  $clima = array("Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado");
  $ubicacion = array ("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");
  $turismo = array("Sata Marta" => "Mar", "Villavicencio" => "Llanos", "Riohacha" => "Desierto", "Quindio" => "Valle");
  switch ($clase){
    case "Clima":
      echo array_search($caracteristica, $clima);
    break;
    case "Ubicacion":
      echo array_search($caracteristica, $ubicacion);
    break;
    case "Turismo":
      echo array_search($caracteristica, $turismo);
    break;
    
  }
}
recomendacion("Mar","Turismo");
?> 

Mi c贸digo:
Cre茅 una funci贸n que recibe el par谩metro de b煤squeda, 鈥榩referencia鈥. Los arreglos los escrib铆 fuera de la funci贸n junto con la preferencia, es decir, 鈥榝r铆o鈥, 鈥榣lano鈥, 鈥榤ar鈥, etc. Por 煤ltimo, cre茅 un switch que, seg煤n la preferencia, llama a la funci贸n y pasa como par谩metro el arreglo correspondiente

<?php
$weather = array("Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado");
$ubication = array("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");
$tourism = array("Santa Marta" => "Mar", "Villavicencio" => "Llano", "Rioacha" => "Desierto", "Quindio" => "Valle");

function buscar($parametro, $preferencia)
{
    $resultado = null;
    foreach ($parametro as $clave => $valor) {
        if ($valor === $preferencia) {
            $resultado = $clave;
        }
    }
    echo $resultado;
}

$preferencia = "Llano"; // Cambia esto al valor de preferencia que desees

switch ($preferencia) {
    case "Frio":
    case "Calido":
    case "Templado":
        buscar($weather, $preferencia);
        break;
    case "Norte":
    case "Sur":
    case "Este":
    case "Oeste":
        buscar($ubication, $preferencia);
        break;
    case "Mar":
    case "Llano":
    case "Desierto":
    case "Valle":
        buscar($tourism, $preferencia);
        break;
    default:
        echo "No se encontr贸 ninguna coincidencia para la preferencia '$preferencia'.";
}
?>

A帽ad铆 el caso de turismo pero tambi茅n quise que se pudiera escribir lo que est谩bamos buscando antes de que muestre el resultado

<?php
function recomendacion($categoria) {
  $clima = array(
  "Bogota" => "frio",
  "Monteria" => "calido",
  "Medellin" => "templado"
);

$ubicacion = array(
  "Guajira" => "norte",
  "Leticia" => "sur",
  "Santander" => "este",
  "Antioquia" => "oeste"
);

$turismo = array(
  "Santa Marta" => "mar",
  "Villavicencio" => "llano",
  "Riohacha" => "desierto",
  "Quindio" => "valle"
);
  switch ($categoria) {
    case "clima":
      echo array_search(readline("Ingrese el valor para clima: "), $clima);
    break;

    case "ubicacion":
      echo array_search(readline("Ingrese el valor para ubicacion: "), $ubicacion);
    break;

    case "turismo":
      echo array_search(readline("Ingrese el valor para turismo: "), $turismo);
    break;
  }
}

recomendacion(readline("Ingrese la categoria: "));
?>
<code> 
<?php
/*Tener una lista de ciudades con un 
clima y una ubicaci贸n espec铆fica*/

function recomendacion(){
    
    $clima = array ("Bogota" => "Frio", 
    "Monteria" => "Calido", "Medellin" => "Templado" );

    $ubicacion = array ("Guajira" => "Norte", 
    "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");

    $turismo = array ("Santa Marta" => "Mar", 
    "Villavicencio" => "Llanos", "Riocha" => "Desierto", "Quindio" => "Valle");

    switch("turismo"){

        case "clima":
            echo array_search("Frio", $clima);
            break;
        case "ubicacion":
            echo array_search("Norte", $ubicacion);
            break; 
        case "turismo":
            echo array_search("Mar", $turismo);
            break; 
      } 
}

recomendacion();

?>

Mi c贸digo:



    <?php 
function buscalugar(){
      echo "            ----- Tu lugar Perfecto -----            ";

//Creamos los arreglo con distinas tematicas. 
//Clima es para lugares condiferente clima. 
      $Clima = array("Caliente" => " Sonora", "Frio " => "Coahuila ",           "Templado" => " CDMX");
//Este arreglo esta basado en la ubicaci贸n del lugar. 
     $Ubicacion = array("Norte" => "Nuevo Leon", "Centro" =>             "Edo de M茅x", "Sur" => "Yucatan"); 
//El turismo esta basado en distintos lugares y tematicas para turistear
     $Turismo = array("Cultura" => "San Miguel de Allende",                    "Tropical" => "Oaxaca","Urbanismo" => "Guadalajara");

   //Preguntamos cual de estos tres le interesa mas.  
     $Proposito = readline("驴Qu茅 buscas al vacacionar? ( Clima,  Ubicaci贸n, Turismo) ");

// Este es el condicional que nos va a ir guinado entre  los principales.
     switch ($Proposito) {
       case "Clima": 
       $Tiempo = readline("驴Qu茅 clima estas buscando? (Caliente, Frio, Templado)"); 
       break; 
       case "Ubicaci贸n":
       $Lugar = readline("驴En que 谩rea estas buscando? (Norte, Centro, Sur)"); 
       break; 
       case "Turismo": 
         $Viaje = readline("驴Que tipo de viaje estas buscando? (Cultural, Tropical, Urbanismo)"); 
       break; 

       default: echo("Elegiste mal, puede que hayas escrito la caracteristica con minusculas o mayusculas. "); 
     }

// Este condicional nos guiara por el Clima del lugar. 
  switch ($Tiempo) {
       case "Caliente": 
         echo "Un buen lugar con clima Caliente es: ". $Clima["Caliente"];
       break; 
       case "Frio":
        echo "Un buen lugar con clima Frio es: ". $Clima["Frio"];
       break; 
       case "Templado": 
        echo "Un buen lugar con clima Templado es: ". $Clima["Templado"];
       break; 
  }

 //Este condicional nos guiara por la zona.
      switch ($Ubicacion) {
       case "Norte": 
        echo "Un lugar en el norte es: " . $Ubicacion["Norte"]; 
       break; 
       case "Centro":
       echo "Un lugar en el Centro es: " . $Ubicacion["Centro"]; 
       break; 
       case "Sur": 
       echo "Un lugar en el Sur es: " . $Ubicacion["Sur"]; 
       break; 
      }
//Este condicional nos guiara por el turismo. 
          switch ($Turismo) {
       case "Cultural": 
       echo "Un lugar con gran predominio cultural es: ". $Turismo["Cultura"];
       break; 
       case "Tropical":
        echo "Un lugar con gran predominio Tropical  es: ". $Turismo["Tropical"];
       break; 
       case "Urbanismo": 
         echo "Un lugar con gran predominio Urbanico es: ". $Turismo["Urbanismo"];
       break; 
          }
}

buscalugar();
?> 
<?php 
#los diferentes array

function recomendacion(){
  $clima = [
    "bogota"=> "frio",
    "Monter铆a"=> "calido",
    "Medell铆n"=> "templado",
  ];
  $ubicacion= [
    "Guajira"=> "norte",
    "Leticia"=> "sur",
    "Santander"=> "este",
    "Antioquia"=> "oeste",
  ];
  $turismo = [
    "Santa Marta"=> "mar",
    "Villavicencio"=> "llano",
    "Riohacha"=> "desierto",
    "Quindio"=> "Valle",
  ];
  #var_dump($clima);

  switch("turismo"){
    case "clima":
      echo array_search("frio",$clima);
    break;
    case "ubicacion":
      echo  array_search("sur",$ubicacion);
    break;
    case "turismo":
    echo array_search("desierto",$turismo);
    break;
  }
    
}  

recomendacion();

Les comparto mi aporte, asi lo hice con las opciones, me ha funcionado pero por alguna razon me pregunta 2 veces, marco las 2 opciones que me deben llevar al resultado y me devuelve al inicio nuevamente selecciono las 2 opciones y ahi si me trae el resultado, no se si es error en mi codigo o en replit.


<?php
/*Tener una lista de ciudades con un clima y una ubicacion especifica*/

function recomendacion(){
  $clima = array("Bogota"=>"frio", "Monteria"=>"Calido", "Medellin"=>"Templado");

  $ubicacion = array("guajira"=>"Norte", "Leticia"=>"Sur", "Santander"=>"Este", "Antioquia"=>"Oeste");

  $turismo = array("Santa Marta"=>"Mar", "villavicencio"=>"llanos", "Riohacha"=>"desierto", "Quindio"=>"Valle");


  $option=readline("Seleccione la opcion de su interes: 1.Clima 2.Ubicaci贸n 3.Turismo  ");
  switch($option){
  case 1:
      $selectclima = readline("Selecciona cual clima quieres 1. frio 2. Calido 3.Templado: ");
        switch($selectclima){
          case 1:
             echo array_search("frio", $clima);
              break;
          case 2:
            echo array_search("Calido", $clima);
              break;
          case 3:
            echo array_search("Templado", $clima);
               break;
        }
        break;
  case 2:
      $selectubicacion=readline("Selecciona cual ubicacion quieres 1. Norte 2. Sur 3.Este 4.Oeste: ");
      switch($selectubicacion){
        case 1:
          echo array_search("Norte", $ubicacion);
          break;
        case 2:
          echo array_search("Sur", $ubicacion);
          break;
        case 3:
          echo array_search("Este", $ubicacion);
          break;
        case 4:
          echo array_search("Oeste",$ubicacion);
          break;
        }
  break;
  case 3:
      $selectturismo=readline("Seleccione su opcion de turismo 1.Mar 2.llanos 3.desierto 4.Valle  ");
        switch($selectturismo){
        case 1:
          echo array_search("Mar", $turismo);
        break;
        case 2:
          echo array_search("llanos", $turismo);
        break;
        case 3:
          echo array_search("desierto", $turismo);
        break;
        case 4:
          echo array_search("Valle", $turismo);
        break;
            
        }
      break;
  }
}

recomendacion();

?>
<?php 

/* Lista de ciudades con ubicacion especifica */

function recomendacion(){
  
$clima = array ("Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado");

$ubicacion = array ("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");

$turismo = array ("Santa Marta" => "Mar", "Villavicencio" => "Llano", "Rioacha" => "Desierto", "Quindio" => "Valle");

switch("turismo"){
  
    case "clima":
  echo array_search("Frio", $clima);
     break;

    case "ubicacion":
  echo array_search("Norte", $ubicacion);
      break;

    case "turismo" : 
  echo array_search("Mar", $turismo);  
      break;
  } 
}
recomendacion();

?> 
<?php
//  Este es un comentario
/* Este es un 
Comentario 
de varias lineas*/
# Este es un Comentario

# Tener una lista de ciudades con un clima y una ubicaci贸n especf铆fica

function recomendacion(){
  $clima = array("Bogota" => "frio","Monteria"=> "calido", "Medellin"=>"templado");

  $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");

  $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle");

  switch("turismo"){
    case "clima":
      echo array_search("frio", $clima);
    break;
    case "ubicacion":
      echo array_search("norte", $ubicacion);
    break;
    case "turismo":
      echo array_search("mar", $turismo);
    break;
  }
}

recomendacion()

?>

<?php
/Lista de ciudades con un clima y ubicacion/

function recomendacion() {
$clima = array(鈥淏ogota鈥 => 鈥渇rio鈥,鈥淢onteria鈥 => 鈥渃alido鈥,鈥淢edellin鈥 => 鈥淭emplado鈥);

$ubicacion = array(鈥淕uajira鈥 => 鈥渘orte鈥,鈥淟eticia鈥 => 鈥渟ur鈥,鈥淪antander鈥 => 鈥渆ste鈥,鈥淎ntioquia鈥 => 鈥渙este鈥);

$turismo = array(鈥淪anta Marta鈥 => 鈥淢ar鈥,鈥淰illavicencio鈥 => 鈥渓lanos鈥,鈥淩ioacha鈥 => 鈥渄esierto鈥,鈥淨uindio鈥 => 鈥渧alle鈥);

switch (鈥渢urismo鈥) {
case 鈥渃lima鈥:
echo array_search(鈥渇rio鈥,$clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渘orte鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥淢ar鈥, $turismo);
break;
}
}

recomendacion();
?>

<?php  
/* Tener una lista de ciudades con un clima y una ubicaci贸n espec铆fica */

function recomendacion()
{
 $clima = array("Teruel" => "frio",  "Murcia" => "calido",  "Galicia"  => "templado");
  
 $ubicacion = array("Cantabria" => "norte", "Malaga" => "sur", "Valencia" => "este", "Salamanca" => "oeste");

 $turismo = array("Granada" => "monumento", "Albacete" => "llano", "Almer铆a" => "desierto", "Navarra" => "valle");

  switch("clima") 
  {
   case "clima":
   echo array_search("templado", $clima);
   break;
    
   case "ubicacion":
   echo array_search("sur", $ubicacion);
   break;

   case "turismo":
   echo array_search("desierto", $turismo);
   break; 
  }
}

recomendacion();
?> 

Les comparto el ejercicio visto en clase, le implement茅 una mejora, en la cual solicita al usuario la opci贸n por la cual desea realizar la b煤squeda.
Podr铆a implementarse tambi茅n, de acuerdo con la opci贸n seleccionada, los valores v谩lidos de acuerdo con la categor铆a.

<?php

// Solicitar al usuario que ingrese una opci贸n
echo "Por favor, ingresa una opci贸n (clima, ubicacion, turismo): ";
$opcion = readline();

// Verificar la opci贸n ingresada y tomar acciones en consecuencia
switch ($opcion) {
    case "clima":
        echo "Has elegido consultar el clima.\n";
        break;
    case "ubicacion":
        echo "Has elegido consultar la ubicacion.\n";
        break;
    case "turismo":
        echo "Has elegido consultar informaci贸n de turismo.\n";
        break;
    default:
        echo "Opci贸n inv谩lida. Por favor, elige entre: clima, ubicaci贸n o turismo.\n";
        break;
}

/*
  Tener una lista de ciudades con un clima y una ubicaci贸n espec铆fica
*/

function recomendacion($opcion) {
  // Array de Climas (asociativo)
  $clima = array("Bogot谩" => "fr铆o", "Monter铆a" => "c谩lido", "Medell铆n" => "templado");

  # Ubicacion
  $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");

  # Turismo
  $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle");

  switch($opcion) {
    case "clima":
      echo array_search("fr铆o", $clima);
    break;
    case "ubicacion":
      echo array_search("norte", $ubicacion);
    break;
    case "turismo":
      echo array_search("valle", $turismo);
    break;
    
  }
    
}

recomendacion($opcion);

?>
<?php

function recomendacion (){
    $clima = array ('Bogota' => 'frio','Monteria' => 'calido','Medellin' => 'templado');
    $ubicacion = array("Guajira"=> "Norte", "Leticia"=>"Sur", "Santander"=>"Este","Antioquia"=>"Oeste");
    $turismo = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llano", "Rioacha"=>"Desierto", "Quindio"=>"Valle" );
    
    switch("turismo"){
        case "clima":
            echo array_search("frio",$clima);
        break;
        case "ubicacion":
            echo array_search("Norte",$ubicacion);
        break;
        case "turismo":
            echo array_search("Mar",$turismo);
        break;
    }
}
recomendacion();

?>

<?php

function recomendacion() {
$clima = array(鈥渂ogota鈥 => 鈥渇rio鈥, 鈥淢onteria鈥 => 鈥渃alido鈥, 鈥淢edellin鈥 => 鈥渢emplado鈥);
$ubicacion = array(鈥淕uajira鈥 => 鈥渘orte鈥, 鈥淟eticia鈥 => 鈥渟ur鈥, 鈥淪antander鈥 => 鈥渆ste鈥, 鈥淎ntioquia鈥 => 鈥渙este鈥);
$turismo = array(鈥淪anta Marta鈥 => 鈥渕ar鈥, 鈥淰illavicencio鈥 => 鈥渓lanos鈥, 鈥淩ioacha鈥 => 鈥渄esierto鈥, 鈥淨uindio鈥 => 鈥渧alle鈥);

switch(鈥渢urismo鈥) {
case 鈥渃lima鈥:
echo array_search(鈥渢emplado鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渘orte鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥渕ar鈥, $turismo);
break;
}

}

recomendacion()
?>

Mi aporte es el siguiente.

Me gusto este reto para seguir aprendiendo la forma en como este se puede implementar en nuestros conocimientos de programacion. Es mejor seguir practicando para no olvidarlo. Aqui esta el reto de la profe:

<?php
  /*Tener una lista para llamar a las variables con su clima, ubicacion y turismo*/
  function recomendacion(){
    $clima = array(
      "Bogota" => "Frio",
      "Monteria" => "Calido",
      "Medellin" => "Templado"
    );
    $ubicacion = array(
      "Guajira" => "Norte",
      "Leticia" => "Sur",
      "Santander" => "Este",
      "Antioquia" => "Oeste"
    );
    $turismo = array(
      "Santa Maria" => "Mar",
      "Villavicencio" => "Llanos",
      "Riohacha" => "Desierto",
      "Quindio" => "Valle"
    );

    //ESTRUCTURA DE CONTROL SWITCH
    switch("turismo"){
      case "clima":
        echo array_search("Frio", $clima);
        break;
      case "ubicacion":
        echo array_search("Oeste", $ubicacion);
        break;
      case "turismo":
        echo array_search("Llanos", $turismo);
        break;
    }
  }

  recomendacion();
?>

![](

<?php

$condicionesClimaticas = array(
鈥楤ogot谩鈥 => 鈥楩rio鈥,
鈥楳edell铆n鈥 => 鈥楾emplado鈥,
鈥楥ali鈥 => 鈥楥alido鈥,
鈥楥artagena鈥 => 鈥楥aluroso鈥,
鈥楽anta Marta鈥 => 鈥楾ropical鈥,
);

$ubicacion = array(
鈥楤ogot谩鈥 => 鈥楥entro鈥,
鈥楳edell铆n鈥 => 鈥楥entro鈥,
鈥楥ali鈥 => 鈥楽ur鈥,
鈥楥artagena鈥 => 鈥楴orte鈥,
鈥楽anta Marta鈥 => 鈥楴orte鈥,
);

$turismo = array(
鈥楤ogot谩鈥 => 鈥楳onta帽as鈥,
鈥楳edell铆n鈥 => 鈥楶aisajes鈥,
鈥楥ali鈥 => 鈥楽alsa鈥,
鈥楥artagena鈥 => 鈥楶layas鈥,
鈥楽anta Marta鈥 => 鈥楶arques Nacionales鈥,
);

$condicion = 鈥榯urismo鈥; // Puedes cambiar esta variable a 鈥楥lima鈥 , 鈥榰bicacion鈥 o 鈥榯urismo鈥 para probar diferentes casos

switch ($condicion) {
case 鈥榗lima鈥:
$valorBuscado = 鈥楥alido鈥;
$respuesta = array_search($valorBuscado, $condicionesClimaticas);
break;
case 鈥榰bicacion鈥:
$valorBuscado = 鈥楥entro鈥;
$respuesta = array_search($valorBuscado, $ubicacion);
break;
case 鈥榯urismo鈥:
$valorBuscado = 鈥楳onta帽as鈥;
$respuesta = array_search($valorBuscado, $turismo);
break;
default:
$respuesta = 鈥楴o se encontr贸 una respuesta para esa consulta.鈥;
break;
}

echo "La respuesta es: " . $respuesta;

?>


Me confund铆 un poco con la variable 鈥渃lima鈥 dentro del switch. Para solucionar mi confusi贸n, hice una nueva variable llamada eleccionUsuario y me qued贸 m谩s claro.

Aqu铆 mi aporte, sin duda tengo que leer y estudiar la documentaci贸n de PHP, ya que tengo la idea de que quiero hacer para mejorar el c贸digo pero no se cuales son los comandos para hacerlo

<?php

// Buscador de ciudades de acuerdo con sus caracter铆sitcas de clima, ubicaci贸n o terreno

function recomendacion() {
  
  $clima = array("Bogot谩" => "Fr铆o", "Monter铆a" => "Caliente", "Medell铆n" => "Templado");

  $ubicacion = array("Guajira" => "Norte", "Letcia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste");

  $turismo = array ("Santa Mar铆a" => "Mar", "Villavicencio" => "Llano", "Riohacha" => "Desierto", "Quindio" => "Valle");

  switch("turismo") {
    case "clima":
      echo array_search("Fr铆o", $clima);
    break;
    case "ubicacion":
      echo array_search("Norte", $ubicacion);
    break;
    case "turismo":
      echo array_search("Mar", $turismo);
    break;
  }
}
<?php 
  function recomendation(){
    $clima = array("Bogota" => "frio", "Monteria"=>"calido", "Medellin"=>"templado" );
    $ubicacion= array("Guajira" =>"norte", "Leticia"=>"sur", "Santader"=>"este", "Antioquia"=>"oeste");
    $turismo = array("Santa Marta"=>"mar","Villavicencio"=>"Llanos","Riohacha"=>"desierto","Quindio"=>"valle");
  switch("turismo"){
  case "clima":
  echo array_search("calido",$clima);
  break;
  case "ubicacion":
  echo array_search("oeste",$ubicacion);
  break;
  case "turismo":
  echo array_search("mar",$turismo);
  break;
}
  }


recomendation();
?>

<?php
function recomendacion() {
$clima = array(鈥淏ogota鈥 => 鈥渇rio鈥, 鈥淢onteria鈥 => 鈥渃alido鈥, 鈥淢edellin鈥 => 鈥渢emplando鈥);

$ubicacion = array (鈥淕uajira鈥 => 鈥渘orte鈥, 鈥淟eticia鈥 => 鈥渟ur鈥, 鈥淪antander鈥 => 鈥渆ste鈥, 鈥淎ntioquia鈥 => 鈥渙este鈥);

$turismo = array(鈥淪anta Marta鈥 => 鈥渕ar鈥, 鈥淰illavicencio鈥 => 鈥渓lanos鈥, 鈥淩iohacha鈥 => 鈥渄esierto鈥, 鈥淨uindio鈥 => 鈥渧alle鈥);

switch(鈥渢urismo鈥){
case 鈥渃lima鈥 :
echo array_search(鈥渇rio鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渘orte鈥, $ubicacion);
break;
case"turismo":
echo array_search(鈥渓lanos鈥, $turismo);
break;
}
}
recomendacion();
?>

 <?php
/* Tener una lista de ciudades con un clima y una ubicaci贸n especifica*/

function recomendacion(){
$Clima = array("Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado");
$Ubicaci贸n = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste");
$Turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle");
switch("clima"){
  case "clima":
    echo array_search("Frio", $Clima);
    break;
  case "ubicacion":
    echo array_search("norte", $Ubicaci贸n);
    break;
  case "turismo":
    echo array_search("mar", $Turismo);
    break;
}

}

recomendacion();
?>