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(
鈥楾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 馃槂

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

鉁咅煄 隆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(鈥淏ogota鈥=>鈥渇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(鈥渢urismo鈥){
case 鈥渃lima鈥:
echo array_search(鈥渇rio鈥,$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(
鈥淏ogota鈥=> 鈥渇rio鈥,
鈥淢onteria鈥 => 鈥渃alido鈥,
鈥淢edellin鈥=>鈥渢emplado鈥
);
$ubicacion = array(
鈥淕uajira鈥=>鈥渘orte鈥,
鈥淪antander鈥=>鈥渆ste鈥,
鈥淎ntioquia鈥=>鈥渙este鈥
);
$turismo = array(
鈥淪anta Marta鈥=>鈥渕ar鈥,
鈥淰illavicencio鈥=>鈥渓lanos鈥,
鈥淩iohacha鈥=>鈥渄esierto鈥,
鈥淨uindio鈥=>鈥渧alle鈥
);

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(鈥淏ogot谩鈥 => 鈥淔rio鈥, 鈥淢onter铆a鈥 => 鈥淐aliente鈥, 鈥淢edell铆n鈥 => 鈥淭emplado鈥);
$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 鈥淯bicaci贸n鈥:
echo array_search(鈥淣orte鈥, $Ubicacion);
break;
case 鈥淭urismo鈥:
echo array_search(鈥淟lanos鈥, $Turismo);
break;
}
}
Recomendacion();
?>

Resultado: Villavicencio.

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

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鈥, 鈥淏arranquilla鈥 => 鈥渃ultural鈥, 鈥淩iohacha鈥 => 鈥渄esierto鈥, 鈥淐ali鈥 => 鈥渧alle鈥);

switch(鈥渢urismo鈥) {
case 鈥渃lima鈥:
echo array_search(鈥渃alido鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥渘orte鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥渃ultural鈥, $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(鈥渇rio鈥 => 鈥淏ogota鈥,
鈥渃alido鈥 => 鈥淢onteria鈥,
鈥渢emplado鈥 => 鈥淢edellin鈥);
$turismo = array(鈥渘orte鈥 => 鈥淕uajira鈥,
鈥渟ur鈥 => 鈥淟eticia鈥,
鈥渙este鈥 => 鈥淪antander鈥,
鈥渆ste鈥 => 鈥淎ntioquia鈥);
$ubicacion = array(鈥渕ar鈥 => 鈥淪anta Martha鈥,
鈥渓lano鈥 => 鈥淰illavicencio鈥,
鈥渄esierto鈥 => 鈥淩iohacha鈥,
鈥渧alle鈥 => 鈥淨uindiro鈥);

$interes = readline("驴Para su viaje esta interesado en el clima, la ubicacion o turismo?: 鈥);
switch($interes){
case $interes == 鈥渃limas鈥:
$recomendacionClima = readline(鈥澛縀l clima que le interesa es frio, caliente o templado?: ");
if ($recomendacionClima == 鈥渇rio鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渇rio鈥漖;
}
elseif ($recomendacionClima == 鈥渃alido鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渃alido鈥漖;
}
elseif ($recomendacionClima == 鈥渢emplado鈥){
echo "Te recomendamos ir a 鈥; echo $climas[鈥渢emplado鈥漖;
}
else {
echo 鈥渘o lo encontramos鈥;
}
break;
case $interes == 鈥渢urismo鈥:
$recomendacionClima = readline(鈥澛縀l turismo que le interesa es sur, norte, oeste o este?: ");
if ($recomendacionClima == 鈥渟ur鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渟ur鈥漖;
}
elseif ($recomendacionClima == 鈥渘orte鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渘orte鈥漖;
}
elseif ($recomendacionClima == 鈥渙este鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渙este鈥漖; }
elseif ($recomendacionClima == 鈥渆ste鈥){
echo "Te recomendamos ir a 鈥; echo $climas[鈥渆ste鈥漖;
}
else {
echo 鈥渘o lo encontramos鈥;
}
break;
case $interes == 鈥渦bicacion鈥:
$recomendacionClima = readline(鈥澛縀l turismo que le interesa es mar, llano, desierto o valle?: ");
if ($recomendacionClima == 鈥渕ar鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渕ar鈥漖;
}
elseif ($recomendacionClima == 鈥渓lano鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渓lano鈥漖;
}
elseif ($recomendacionClima == 鈥渄esierto鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渄esierto鈥漖;
}
elseif ($recomendacionClima == 鈥渧alle鈥){
echo "Te recomendamos ir a "; echo $climas[鈥渧alle鈥漖;
}
else {
echo 鈥渘o 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(鈥渕anizales鈥=>鈥渇rio鈥,鈥渕onteria鈥=>鈥渃alido鈥, 鈥渕edellin鈥=>鈥渢emplado鈥);

$ubicacion = array(鈥済uajira鈥=>鈥渘orte鈥,鈥渓eticia鈥=>鈥渟ur鈥, 鈥渟antander鈥=>鈥渆ste鈥,鈥渁ntioquia鈥=>鈥渙este鈥);

 $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(鈥淏ogot谩鈥 => 鈥渇rio鈥, 鈥淢onteria鈥 => 鈥渃alido鈥, 鈥淢edellin鈥 => 鈥淭emplado鈥);

$turismo = array(鈥淪anta Marta鈥 => 鈥減laya鈥, 鈥淰illavicencio鈥 => 鈥済astronomia鈥, 鈥淏ogot谩鈥 => 鈥渃ultura鈥, 鈥淢anizales鈥 => 鈥淐afetales鈥);

$ubicacion = array(鈥淩iohacha鈥 => 鈥淣orte鈥, 鈥淟eticia鈥 => 鈥渟ur鈥, 鈥淏ucaramanga鈥 => 鈥淥riente鈥, 鈥淨uibd贸鈥 => 鈥淥ccidente鈥);

switch(鈥渢urismo鈥){
case 鈥渃lima鈥:
echo array_search(鈥渃alido鈥, $clima);
break;
case 鈥渦bicacion鈥:
echo array_search(鈥淣orte鈥, $ubicacion);
break;
case 鈥渢urismo鈥:
echo array_search(鈥済astronomia鈥, $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