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 220

Preguntas 17

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

⚡ 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(
‘Tu Ambiente Favorito es: Antartida’ => ‘frio’,
‘Tu Ambiente Favorito es: Maimi’ => ‘calido’,
'Tu Ambiente Favorito es: Sau Paulo ’ => ‘templado’
);

$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(“climate”, “calido”);
?>

<?php
function recomendacion () {
$weather = array (
“Bogotá” => “frío”,
“Montería” => “cálido”,
“Medellín” => “Templado”,
);

$ubication = array (
“Guajira” => “Norte”,
“Leticia” => “Sur”,
“Santander” => “este”,
“Antioquia” => “Oeste”,
);

$sightseeing = array (
“Santa Martha” => “Mar”,
“Villavicencio” => “Llano”,
“Riohacha” => “Desierto”,
“Quindío” => “Valle”,
);

switch(“sightseeing”) {
case “weather”:
echo array_search(“cálido”,$weather);
break;

case “ubication”:
echo array_search(“Norte”,$ubication);
break;

case “sightseeing”:
echo array_search(“Desierto”,$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(“Botogota” => “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(“sur”, $ubicacion);
break;
case “turismo”:
echo array_search(“Mar”, $turismo);
break;
}
}
recomendacion();
?>

Resuelto 😃

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, ‘preferencia’. Los arreglos los escribí fuera de la función junto con la preferencia, es decir, ‘frío’, ‘llano’, ‘mar’, 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(“Bogota” => “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”:
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 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(“bogota” => “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”:
echo array_search(“templado”, $clima);
break;
case “ubicacion”:
echo array_search(“norte”, $ubicacion);
break;
case “turismo”:
echo array_search(“mar”, $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(
‘Bogotá’ => ‘Frio’,
‘Medellín’ => ‘Templado’,
‘Cali’ => ‘Calido’,
‘Cartagena’ => ‘Caluroso’,
‘Santa Marta’ => ‘Tropical’,
);

$ubicacion = array(
‘Bogotá’ => ‘Centro’,
‘Medellín’ => ‘Centro’,
‘Cali’ => ‘Sur’,
‘Cartagena’ => ‘Norte’,
‘Santa Marta’ => ‘Norte’,
);

$turismo = array(
‘Bogotá’ => ‘Montañas’,
‘Medellín’ => ‘Paisajes’,
‘Cali’ => ‘Salsa’,
‘Cartagena’ => ‘Playas’,
‘Santa Marta’ => ‘Parques Nacionales’,
);

$condicion = ‘turismo’; // Puedes cambiar esta variable a ‘Clima’ , ‘ubicacion’ o ‘turismo’ para probar diferentes casos

switch ($condicion) {
case ‘clima’:
$valorBuscado = ‘Calido’;
$respuesta = array_search($valorBuscado, $condicionesClimaticas);
break;
case ‘ubicacion’:
$valorBuscado = ‘Centro’;
$respuesta = array_search($valorBuscado, $ubicacion);
break;
case ‘turismo’:
$valorBuscado = ‘Montañas’;
$respuesta = array_search($valorBuscado, $turismo);
break;
default:
$respuesta = ‘No se encontró una respuesta para esa consulta.’;
break;
}

echo "La respuesta es: " . $respuesta;

?>


Me confundí un poco con la variable “clima” 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(“Bogota” => “frio”, “Monteria” => “calido”, “Medellin” => “templando”);

$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(“llanos”, $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();
?>

✅🎉 ¡Trabajo terminado! 🎉✅

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

function recomendacion(){
  $clima = array("Bogotá" => "Frío", "Montería" => "Cálido", "Medellín" => "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("Cálido", $clima);
    break;
    case "ubicacion":
      echo array_search("Norte", $ubicacion);
    break;
    case "turismo":
      echo array_search("Valle", $turismo);
    break;
  } 
}

recomendacion();

?>
<
  function recomendacion(){
    $clima = array("cucuta" => "calido",
                    "Bucaramanga" => "templado", "tunja" => "frio");
    $ubicacion = array("uribia" => "norte",
                    "puertocarreño" => "oriente", "nuqui" => "occidente", "leticia" => "sur");
    
    $turismo = array("cartagena" => "playa",
                    "arauca" => "llanos", "valledupar" => "festival", "huila" => "volcan");

    switch("turismo"){
      case "clima":
       echo array_search("calido",$clima);
        break;
      case "ubicacion":
        echo array_search("norte",$ubicacion);
        break;
       case "turismo":
        echo array_search("festival",$turismo);
        break;
    
   
    }
  }
recomendacion();> 

//mi codigo agregando el case turismo

<?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(“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();
?>

function buscarPorInteres($interes, $subInteres){
  $weather = array("Bogota" => "Cold", "Montería" => "hot", "Medellín" =>     "mild");
  $location = array("Guajira" => "Norte", "Leticia" => "Sur", "Medellín" =>     "oeste", "Santander" => "este");
  $tourism = array("Santa marta" => "mar", "Villavicencio" => "llano",        "Riohacha" => "desierto", "Quindío" => "valle");

  switch($interes){
    case "clima":
      echo array_search($subInteres, $weather);
      break;
    case "ubicacion":
      echo array_search($subInteres, $location);
      break;
    case "turismo":
      echo array_search($subInteres, $tourism);
      break;
  }
}
buscarPorInteres("ubicacion", "Norte")
?> 

Así me queda con turismo

🗿

MI aporte de con música

<?php
function recomendacion(){
  $UK = array("Yes" => "prog", "UFO" => "hard rock", "Dua Lipa" => "pop");

  $USA = array("Kansas" => "prog", "Van Halen" => "hard rock", "Miley Cyrus" => "pop");

  $Canada = array("Rush" => "hard Rock", "Opus 5" => "prog", "Anvil" => "speed metal");

switch ("UK"){
  case "UK":
    echo array_search("prog", $UK);
  break;
  case "USA":
    echo array_search("hard rock",$USA);
  break;
}

  
}
recomendacion();
?>

Hola, no conozco mucho el lenguaje pero supongo que lo mejor es hacer uso de los array por fuera de la estructura de la función y acceder de manera global a ellos. Si embargo me tocó hacerlo dentro de la función ya que me generaba error en el scope de las variables. Aporte:

<?php
    function recomendacion($aspecto, $valor){
        $clima = [
            "Bogotá" => "Frío",
            "Medellín" => "Templado",
            "Cali" => "Caliente",
        ];
        $ubicacion = [
            "Guajira" => "Norte",
            "Amazonas" => "Sur",
            "Llanos" => "Oriente",
            "Chocó" => "Occidente",
        ];
        $turismo = [
            "Santa Marta" => "Playa",
            "Villa de Leyva" => "Pueblo",
            "Quindió" => "Café",
            "Pasto" => "Volcán",
        ];

        switch($aspecto){
            case "clima":
                $recomendacion = array_search($valor, $clima);
                break;
            case "ubicacion":
                $recomendacion = array_search($valor, $ubicacion);
                break;
            case "turismo":
                $recomendacion = array_search($valor, $turismo);
                break;
            default:
                $recomendacion = "No se encontró la recomendación";
        }
        return $recomendacion;
    }
    
    #Ejemplos
    echo recomendacion("clima", "Frío"); #Bogotá
    echo "<br>";
    echo recomendacion("ubicacion", "Oriente"); #Llanos
    echo "<br>";
    echo recomendacion("turismo", "Volcán"); #Pasto
?> 
<?php 
/*recomendaciones de lugares de Colombia de acuerdo con su clima, ubicación o atractivo turístico*/

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('clima'){
    case 'clima':
    echo array_search('calido', $clima);
    break;
    case 'ubicacion':
    echo array_search('norte', $ubicacion);
    break;
    case 'turismo':
    echo array_search('valle', $turismo);
    break;
    
  }

  
}
recomendacion();
?> 

mi código sin usar funciones.

<?php 

function buscar_lugar($caracteristica, $condicion_caracteristica)
  {
    $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",
    "Leticia" => "llano",
    "Riohacha" => "desierto",
    "Quindio" => "valle"
  );

    $ciudad = "";
    
    switch($caracteristica){
    case "clima":
      foreach ($climas as $clave => $valor){
        if($valor == $condicion_caracteristica){
          $ciudad = $clave;
        }
      }
    break;
    case "ubicacion":
      foreach($ubicacion as $clave => $valor){
        if($valor == $condicion_caracteristica)
          $ciudad = $clave;
      }
    break;
    case "turismo":
      foreach($turismo as $clave => $valor){
        if($valor == $condicion_caracteristica)
          $ciudad = $clave;
      }
    break;
    default:
      echo "La caracteristica no se encuentra";
    break;
  }
    return "tu ciudad elegida es: ".$ciudad;
  }

  $resultado = buscar_lugar("turismo", "desierto");
  echo $resultado;
?>

// @alejandro Obtener datos de region.
function recomendacion()
{
$clima = array(
“Bogota”=> “frio”,
“Monteria” => “calido”,
“Medellin”=>“templado”
);
$ubicacion = array(
“Guajira”=>“norte”,
“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('valle', $turismo);
        break;
}

}

echo recomendacion();

Mi aporte de acuerdo a la clase.

<?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"); 

  switch("turismo") {
    case "clima":
      echo array_search("frio", $clima);
    break;
    case "ubicacion":
      echo array_search("norte", $ubicacion)
    break;
    case "turismo":
      echo array_search("valle", $turismo)
    
  }
}
recomendacion();  
?>
<?php
//Tener una lista de ciudadades con un clima y ubicacion especifica


function recomendacion ()
{
$clima = array("Bogota"=>"Frio", "Monteria"=>"Calido", "Medellin"=>"Templado");
$ubicacion = array("Riohacha"=>"Norte", "Leticia"=>"Sur", "Bucaramanga"=>"Este", "Medelin"=>"Oeste");
$turismo = array("Santa Marta"=>"Mar", "Villavicencio"=>"Llanos", "Riohacha"=>"Desierto", "Quindio"=>"Valle"); 


    switch ("clima"){

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

recomendacion ();

?>

<?php 

function recomendacion() {

  $weather = array ("Bogotá" => "Cold", "Montería" => "hot", "Medellín" => "mild");

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

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

  switch($condicion) {
    case "clima": 
      echo array_search("hot", $weather);
      break;

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

    case "turismo":
      echo array_search("mar", $tourism);
      break;

 
  }

}

 recomendacion();

?>

Probé usar switch dentro del switch. Al agregar readline, se debe escribir las preferencias en la consola.

<?php
//Reto donde pediremos recomendaciones de lugares de Colombia de acuerdo con su clima, ubicación o atractivo turístico.

function recomendacion(){
  $clima = array("Bogotá" => "frío", "Montería" => "cálido", "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");

  $buscador= readline("¿Qué prefieres buscar: clima, ubicacion o turismo?");

  Switch(buscador){

     case "clima"
     $seleccion= readline("¿Prefieres clima: frío, cálido o templado?");
        switch(seleccion){
            case "frío"
              echo array_search("frío",$clima);
            break;
      
            case "cálido"
              echo array_search("cálido",$clima);
            break;
  
           case "templado"
              echo array_search("templado",$clima);
            break;
        }

    case "ubicacion"
    $seleccion= readline("¿Qué prefieres: norte, sur, este u oeste?");
       switch(seleccion){
           case "norte"
              echo array_search("norte", $ubicacion);
           break;

           case "sur"
              echo array_search("sur",$ubicacion);
           break;

           case "este"
              echo array_search("este",$ubicacion);
            break;

          case "oeste"
             echo array_search("oeste",$ubicacion);
         break;
       }

    case "turismo"
    $seleccion= readline("¿Qué atractivo turistico prefiere: mar, llano, desierto o valle?");
      switch(seleccion){
         case "mar"
           echo array_search("mar", $turismo);
            break;

         case "llano"
           echo array_search("llano",$turismo);
             break;

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

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


recomendacion();

?>

Creo que no sirve…

Mi codigo

<?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('turismo'){
  case 'clima':
    echo array_search('templado' , $clima);
  break;
  case "ubicacion":
    echo array_search('norte' , $ubicacion);
  break;
  case 'turismo':
   echo array_search('desierto', $turismo);
 }
}

recomendacion();
?> 
****

Aquí esta mi propuesta:

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

function recomendacion($opcion) {
  $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($opcion){
    case "clima":  
      $recomendacion = array_search("calido", $clima);
      break;
    case "ubicacion":
      $recomendacion = array_search("norte", $ubicacion);
      break;
    case "turismo":
      $recomendacion = array_search("mar", $turismo);
      break;
    default:
      $recomendacion = "Opción no válida";
  }
  return $recomendacion;
}

if(isset($_GET['opcion'])){
  $opcion = $_GET['opcion'];
  $recomendacion = recomendacion($opcion);
  echo "La recomendación para la opción seleccionada es: ".$recomendacion;
} else {
  echo "Selecciona una opción (clima, ubicación o turismo) para recibir una recomendación.";
}
?>

hola

<?php
// Lista de ciudades con clima y location especific

function recommend($filter,$characterist){
  $clima = array("Bogota" => "cold",
                "Medellin" => "mid",
                "Cali" => "Hot");
  $location = array("Cundinamarca" => "Center",
                   "Sucre" => "North",
                   "Vaupes" => "south");
  $turism = array("Santa marta" => "beach",
                  "Villavicencio" => "rivers",
                  "Riohacha" => "dessert",
                  "Valle" => "great roads");
  switch($characterist){
    case "location":
      echo array_search($filter,$location);
    break;
    case "clima":
      echo array_search($filter,$clima);
      break;
    case "turism":
      echo array_search($filter,$turism);
      break;
    default:
      echo "isn´t was posible continue with               your requirement";
      break;
  }
}
recommend("beach", "turism");

?>

<?php

$clima = array(
  "Caliente" => "Cali",
  "Templado"  => "Medellin",
  "Frio" => "Bogotá",
);
  
$ubicacion = array(
  "Norte" => "Barranquilla",
  "Sur" => "Pasto",
  "Centro" => "Cota",
);

$turismo = array(
  "Mar" => "Santa Marta",
  "Desierto"  => "Tatacoa",
  "Bosque"  =>"Amazonas",
);



$busqueda =readline("Enter Option: 0/Clima   1/Ubicacion   2/ turismo: ");



switch($busqueda){
  case 0:
  $validar = readline("Enter your type of clima: Frio/Caliente/Templado: ");
  echo "Your City is ".$clima[$validar];
  break;
  
  case 1:
   $validar = readline("Enter your type of clima: Norte/Sur/Centro: ");
  echo "Your City is ".$ubicacion[$validar];
  break;
  
  case 2:
   $validar = readline("Enter your type of clima: Mar/Desierto/Bosque: ");
  echo "Your City is ".$turismo[$validar];
  break;
  
}
  
?>

<?php
/* Tener una lista e ciudadaes con clima y ubicación especifica */

function Recomendacion(){
$Clima = array(“Bogotá” => “Frio”, “Montería” => “Caliente”, “Medellín” => “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 “Ubicación”:
echo array_search(“Norte”, $Ubicacion);
break;
case “Turismo”:
echo array_search(“Llanos”, $Turismo);
break;
}
}
Recomendacion();
?>

Resultado: Villavicencio.

<?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”, “Barranquilla” => “cultural”, “Riohacha” => “desierto”, “Cali” => “valle”);

switch(“turismo”) {
case “clima”:
echo array_search(“calido”, $clima);
break;
case “ubicacion”:
echo array_search(“norte”, $ubicacion);
break;
case “turismo”:
echo array_search(“cultural”, $turismo);
}
}
recomendacion();
?>

Agregando turismo!!!

<?php

function showSelecct(){

  $weather = array(
    "cold" => "Bogotá",
    "hot" => "Montería",
    "mild" => "Medellín"
  );

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

  $tourism = array(
    "sea" => "Santa Marta",
    "plain" => "Villavicencio",
    "desert" => "Riohacha",
    "valley" => "Quindío"
  );
  
  $t = readline("\nSelect the number to set the type you want to search by: \n\n 1 => weather \n 2 => ubication \n 3 => tourism \n Select:");

  switch($t){
    case 1:
      showArrayContent($weather, "weather");
    break;
    
    case 2:
      showArrayContent($ubication, "ubication");
    break;
    
    case 3:
      showArrayContent($tourism, "tourism");
    break;
    
    default:
    echo "<br>Select a value from the lista<br>";
      showSelecct();
    break; 
  }
}

function showArrayContent($array, $type){
  $options = "";
  $count = 0;
  $res = [];
  foreach ($array as $key => $value) {
    $count ++;
    $options = $options .strval(" " . $count) ." => " . $key ."\n";
    $res[$count] = (" / value => " . $key . " / content => " . $value);
  }
  $option = readline("\nSelect the number to set the option of " . $type . ":\n" . $options . "\n Select:" );
  
  if(array_key_exists($option,$res)){
    echo"selected type => $type,  $res[$option]";
  }else{
    echo "<br>Select a value from the lista<br>";
    showArrayContent($array, $type);
  }
}
showSelecct();
?>

Muchas gracias profe

<?php 
/* Tener una lista de ciudades con un clima y una ubicación 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");

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

recomendacion();

?> 

**mi codigo para seleccionar destinos **
no se como lo hice pero lo logre, me demore mucho hasta que funciono, me toco usar chat gpt para encontrar un error pero no mas.

<?php
function recomendation(){
  $weather = array(
  "bogota"=>"cold", "monteria"=>"warm", "medellin"=>"mild");

  $location = array(
  "guajira"=>"north", "leticia"=> "south", "santander"=>"east", "antioquia"=>"west");

  $tourism = array("santaMarta"=>"sea","villavicencio"=>"easter plain","riohacha"=>"desert",
  "quindio"=>"valley");

  $selectTipe = readline ("do you want to select your destiny by: weather,location or tourism?");

    switch ($selectTipe){
    case "weather":
    $weathertipe= readline ("which tipe of weather do you prefer to travel: cold, warm or mild?");
      switch ($weathertipe){
        case $weathertipe:
          $selection= array_search($weathertipe,$weather);
        
       } break;
    case "location":
      $locationtipe= readline ("which tipe of location do you prefer to travel: north, south, east or west");
      switch ($locationtipe){
        case $locationtipe:
          $selection= array_search($locationtipe,$location);
        
        } break;
  case "tourism":
      $tourismtipe= readline ("which tipe of tourism do you prefer?: sea, easter palain, desert or valley");
      switch ($tourismtipe){
        case $tourismtipe:
          $selection= array_search($tourismtipe,$tourism); 
      }   
  break;
  }
  echo "you destiny must be: ",$selection;
}
recomendation();
 
?>
<?php
//este comentario
function recomendacion(){

  $clima = array(
    "Bogotá"=>"frio",
    "Monteria"=>"calido",
    "Medellin"=>"templado");
  $ubicacion = array (
    "Guajira"=> "Norte",
    "Leticia"=>"Sur",
    "Santander"=>"Este",
    "Antioquia"=>"Oeste");
  $turimos = array(
    "Santa Marta"=>"Mar",
    "Villavicencio"=>"Llano",
    "Rioacha"=>"Desierto", 
    "Quindio"=>"Valle" );

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

    case "turimos":
      echo array_search("Llano",$turimos);
    break;
  }
}
recomendacion();
?>

<?php

$climas = array(“frio” => “Bogota”,
“calido” => “Monteria”,
“templado” => “Medellin”);
$turismo = array(“norte” => “Guajira”,
“sur” => “Leticia”,
“oeste” => “Santander”,
“este” => “Antioquia”);
$ubicacion = array(“mar” => “Santa Martha”,
“llano” => “Villavicencio”,
“desierto” => “Riohacha”,
“valle” => “Quindiro”);

$interes = readline("¿Para su viaje esta interesado en el clima, la ubicacion o turismo?: “);
switch($interes){
case $interes == “climas”:
$recomendacionClima = readline(”¿El clima que le interesa es frio, caliente o templado?: ");
if ($recomendacionClima == “frio”){
echo "Te recomendamos ir a "; echo $climas[“frio”];
}
elseif ($recomendacionClima == “calido”){
echo "Te recomendamos ir a "; echo $climas[“calido”];
}
elseif ($recomendacionClima == “templado”){
echo "Te recomendamos ir a “; echo $climas[“templado”];
}
else {
echo “no lo encontramos”;
}
break;
case $interes == “turismo”:
$recomendacionClima = readline(”¿El turismo que le interesa es sur, norte, oeste o este?: ");
if ($recomendacionClima == “sur”){
echo "Te recomendamos ir a "; echo $climas[“sur”];
}
elseif ($recomendacionClima == “norte”){
echo "Te recomendamos ir a "; echo $climas[“norte”];
}
elseif ($recomendacionClima == “oeste”){
echo "Te recomendamos ir a "; echo $climas[“oeste”]; }
elseif ($recomendacionClima == “este”){
echo "Te recomendamos ir a “; echo $climas[“este”];
}
else {
echo “no lo encontramos”;
}
break;
case $interes == “ubicacion”:
$recomendacionClima = readline(”¿El turismo que le interesa es mar, llano, desierto o valle?: ");
if ($recomendacionClima == “mar”){
echo "Te recomendamos ir a "; echo $climas[“mar”];
}
elseif ($recomendacionClima == “llano”){
echo "Te recomendamos ir a "; echo $climas[“llano”];
}
elseif ($recomendacionClima == “desierto”){
echo "Te recomendamos ir a "; echo $climas[“desierto”];
}
elseif ($recomendacionClima == “valle”){
echo "Te recomendamos ir a "; echo $climas[“valle”];
}
else {
echo “no lo encontramos”;
}
break;
}

?>

<?php 

$climas = array (
  "Bogotá" => "frio",
  "Monteria" => "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"
);

$seleccion = readline("Desea saber de climas, ubicación o turismo?: ");

switch ($seleccion) {
    case "climas":
        $clima = readline("Seleccione el clima (frio, calido o templado):");
        $indice1 = array_search($clima, $climas);
        print_r($indice1);
        break;
    case "ubicacion":
        $ubica = readline("Seleccione la ubicación (norte, sur, este u oeste):");
        $indice2 = array_search($ubica, $ubicaion);
        print_r($indice2);
        break;
    case "turismo":
        $turis = readline("Seleccione la mejor opción (mar, llano, desierto o valle):");
        $indice3 = array_search($turis, $turismo);
        print_r($indice3);
        break;
}

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

function recomendacion() {
  $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", "Quindio" => "valle");

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

recomendacion();
?>

<?php
/* este comentario tiene un salto de linea
lista de ciudades con un clima y una ubicacion especifica*/

function recomendacion()
{
$clima = array(“manizales”=>“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("clima"){
  case "clima":
  echo array_search("frio", $clima);
  break;
  case "ubicacion":
  echo array_search("norte",$ubicacion);
  break;
}

}
recomendacion();
?>

Esté es mi optimización y le añado turismo:
me compliqué al momento de imprimir el texto.

  function recomendation($option, $type){
    $weather = array(
      "Bogotá" => "Cold",
      "Montería" => "Hot",
      "Medellín" => "mild"
    );

    $location = array(
      "Guajira" => "North",
      "Leticia" => "South",
      "Santander" => "East",
      "Antioquia" => "West"
    );

    $tourism = array(
      "Santa Marta" => "Sea",
      "Villavicencio" => "Flat",
      "Riohacha" => "Desert",
      "Quindío" => "Valley",
    );

    switch ($option) {
      case 'weather':
        echo array_search($type, $weather);
        break;

      case 'location':
        echo array_search($type, $location);
        break;

      case 'tourism':
        echo array_search($type, $tourism);
        break;

      default:
        echo "Valor ingresado no es valido";
        break;
    }

  }



  echo  recomendation("tourism","Valley") . ' es la recomendación para tu destino ' ;
?>

<?php
/*tener una lista de ciudades para tener 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", "Riohacha" => "desierto", "Quindio" => "valle");

  $opcion = "ubicacion"; // Se puede cambiar esta variable para probar diferentes opciones

  switch ($opcion){
    case "clima":
      echo "Recomendación de ciudad basada en el clima: " . array_search("frio", $clima);
      break;
    case "ubicacion":
      echo "Recomendación de ciudad basada en la ubicación: " . array_search("Norte", $ubicacion);
      break;
    case "turismo":
      echo "Recomendación de ciudad para turismo: " . array_search("mar", $turismo);
      break;
    default:
      echo "Opción inválida";
  }
}

recomendacion();

?>

Excelente explicacion!

Código final

<?php
/*tener una lista de ciudades con un clima, una ubicación y tipo de turismo*/

function recomendacion() {
  $clima =array("Bogota" => "frio", "Monteria"=> "calido", "Medellin" => "templado");
  
  $ubicacion = array("Guajira" =>"norte", "Leticia"=> "sur", "Santanderes"=> "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("este", $ubicacion);
    break;
    case "turismo":
      echo array_search("Valle", $turismo);
    break;
  }
}

recomendacion();

?>

Aqui esta mi aporte.✌😎👍

Realmente me hace falta practicar más… me equivoco con la sintaxis, pero sigo intentando. Aquí está el ejercicio, con el caso ubicación y algunos cambios en los parámetros porque soy colombiana y algunos ejemplos no son ciudades.

<?php
function recomendacion (){
$clima = array(“Bogotá” => “frio”, “Monteria” => “calido”, “Medellin” => “Templado”);

$turismo = array(“Santa Marta” => “playa”, “Villavicencio” => “gastronomia”, “Bogotá” => “cultura”, “Manizales” => “Cafetales”);

$ubicacion = array(“Riohacha” => “Norte”, “Leticia” => “sur”, “Bucaramanga” => “Oriente”, “Quibdó” => “Occidente”);

switch(“turismo”){
case “clima”:
echo array_search(“calido”, $clima);
break;
case “ubicacion”:
echo array_search(“Norte”, $ubicacion);
break;
case “turismo”:
echo array_search(“gastronomia”, $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");

  $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":
      echo array_search("frio", $clima);
    break;
    case "ubicacion":
      echo array_search("norte", $ubicacion);
    break;
    case "turismo";
      echo array_search("mar", $turismo);
    break;
    
  }
}

recomendacion();

?>

Yo hice todos estos ejercicios en ruby ya que es el lenguaje que ando practicando, si a alguien le interesa como lo hice aca se los dejo

def lobby
    puts ""
    puts "Bienvenido a la Mini App para saber a donde seria buena idea viajar en Colombia"
    sleep(2)
    puts ""
    puts "¿Que te interesa mas para viajar ¿El Clima La Ubicacion o El Turismo? (Recuerda respetar las Mayusculas,SuMiMasEn DesTacK)"
    puts ""
    sleep(2)
    puts "1. El Clima"
    sleep(0.5)
    puts "2. La Ubicacion"
    sleep(0.5)
    puts "3. El Turismo"
    sleep(0.5)
    opcion_lobby = gets.chomp.to_i
    
case opcion_lobby
      when 1
        opcion_1_clima
      when 2
        opcion_2_Ubicacion
      when 3
        opcion_3_Turismo
      else
        puts "Esa opción no esta disponible, se te enviara de nuevo al menu principal :D"
        lobby
      end
end
    
def opcion_1_clima
      climas = { "Bogota" => "Frio", "Monteria" => "Calido", "Medellin" => "Templado" }
      puts "Elegiste El Clima"
      sleep(1)
      puts "¿Que prefieres? ¿Frio? ¿Calido? o ¿Templado?"
      eleccion_de_climas = gets.chomp
    
      if eleccion_de_climas == "Frio"
        ciudad = climas.key("Frio")
        puts "Entonces un buen clima para ti seria #{ciudad}"
      elsif eleccion_de_climas == "Calido"
        ciudad2 = climas.key("Calido")
        puts "Entonces un buen clima para ti seria #{ciudad2}"
      elsif eleccion_de_climas == "Templado"
        ciudad3 = climas.key("Templado")
        puts "Entonces un buen clima para ti seria #{ciudad3}"
      else 
        puts "Esta opcion no esta disponible, reintenta nuevamente :D"
        puts ""
        opcion_1_clima
      end
end

def opcion_2_Ubicacion
    ubicacion = { "Guiajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste" }
    puts "Elegiste la Ubicacion"
    sleep(1)
    puts "¿Que prefieres? ¿Norte? ¿Sur? ¿Este? o ¿Oeste?"
    eleccion_de_ubicacion = gets.chomp
  
    if eleccion_de_ubicacion == "Norte"
      ubicacion1 = ubicacion.key("Norte")
      puts "Entonces un buen clima para ti seria #{ubicacion1}"
    elsif eleccion_de_ubicacion == "Sur"
        ubicacion2 = ubicacion.key("Sur")
      puts "Entonces un buen clima para ti seria #{ubicacion2}"
    elsif eleccion_de_ubicacion == "Este"
        ubicacion3 = ubicacion.key("Este")
      puts "Entonces un buen clima para ti seria #{ubicacion3}"
    elsif eleccion_de_ubicacion == "Oeste"
        ubicacion4 = ubicacion.key("Oeste")
      puts "Entonces un buen clima para ti seria #{ubicacion4}"
    else 
      puts "Esta opcion no esta disponible, reintenta nuevamente :D"
      puts ""
      opcion_2_Ubicacion
    end
end

def opcion_3_Turismo
    turismo = { "Santa Marta" => "Mar", "Villavicencio" => "LLano", "Riohacha" => "Desierto", "Quindio" => "Valle" }
    puts "Elegiste el Turismo"
    sleep(1)
    puts "¿Que prefieres? ¿Mar? ¿LLano? ¿Desierto? o ¿Valle?"
    eleccion_de_Turismo = gets.chomp
  
    if eleccion_de_Turismo == "Mar"
        turismo1 = turismo.key("Mar")
      puts "Entonces un buen lugar turistico para ti seria #{turismo1}"
    elsif eleccion_de_Turismo == "LLano"
        turismo2 = turismo.key("LLano")
      puts "Entonces un buen lugar turistico para ti seria #{turismo2}"
    elsif eleccion_de_Turismo == "Desierto"
        turismo3 = turismo.key("Desierto")
      puts "Entonces un buen lugar turistico para ti seria #{turismo3}"
    elsif eleccion_de_Turismo == "Valle"
        turismo4 = turismo.key("Valle")
      puts "Entonces un buen lugar turistico para ti seria #{turismo4}"
    else 
      puts "Esta opcion no esta disponible, reintenta nuevamente :D"
      puts ""
      opcion_3_Turismo
    end
end

lobby