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 290

Preguntas 17

Ordenar por:

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

⚡ Añadiendo el caso de turismo

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

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

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

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

    switch("turismo"){

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

recomendacion();

?>

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

Acá el buscador completo con parámetros en la función de recomendacion

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

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

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

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

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

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

?>

Este es mi propuesta de solución

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

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




?>

Lo hice con algunos destinos aquí en México:

<?php

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

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

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

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

recomendacion();

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

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

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

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

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

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

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


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

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

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

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

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

}
?>

Dejo el desafio de la clase:

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

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

recomendacion();
?>

Buenas tardes
envio mi reto::

<?php
function eligueTuAmbienteFavorita($Dato,$Informacion)
{
$climate = array(
‘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()

?>

![](https://static.platzi.com/media/user_upload/image-970ba795-57ca-4b7a-a30e-3930f74b03b2.jpg)
<<?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 😃

\ "caliente alv", "san pedro" => "calido", "rancho no se cual" => "hot" ); $ubicacion = array("guajira" => "norte", "leticia" => "sur", "santander" => "este", "antioquia" => "oeste"); $turismo = array("guadalajara" => "calido", "tlaquepaque" => "centro", "zapopan" => "comercio", "sur" => "este"); $tipo = "turismo"; //variable para el switch switch($tipo){ case "clima": echo array\_search("mty", $clima); break; case "ubicacion": echo array\_search("guajira", $ubicacion); break; case "turismo": echo array\_search("comercio", $turismo); break; } } recomendacion(); ?>
Me gustaron muchos los retos.
La función que has creado tiene un buen inicio, pero hay algunos detalles a mejorar en el uso de `switch` y la lógica de búsqueda. Aquí hay algunas correcciones: 1. **Uso de `switch`**: El valor que se pasa a `switch` es una cadena literal `"turismo"`. Deberías usar la variable que determina la búsqueda (por ejemplo, `tipo_busqueda`), que debes definir antes del `switch`. 2. **Función `array_search`**: Cuando invocas `array_search`, asegúrate de que estás mostrando el resultado correctamente. Aquí tienes una versión corregida: ```php "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guaia" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "opeste"); $turismo = array("Santa Marta" => "mar", "villavicencio" => "llanos", "riocha" => "desierto", "Quindio" => "valle"); switch($tipo_busqueda) { case "clima": echo array_search("calido", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion("turismo"); ?> ``` Ahora puedes llamar a la función `recomendacion` con el tipo de búsqueda que desees.
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-01-11%20142702-791f13fb-c263-4062-84c5-492707e0e974.jpg)
**Programa que hace recomendaciones de lugares de acuerdo a los valores de clima, ubicacion y sitio turistico.** ```js "frio","Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte","Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar","Villavivencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle"); // Cambia las palabras entre clima, ubicacion y turismo para visualizar las distintas recomendaciones //Para validar los casos. switch("ubicacion"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; default: echo "valor invalido. "; } } // llamada de funcion. recomendaciones(); ?> ```
Ejercicio ciudades: ![](https://static.platzi.com/media/user_upload/imagen-73deea7f-f0f1-42f5-95f6-490e77b93555.jpg)
\ "Frio", "Monteria"=> "Calido", "Medellin"=> "Templado"); $ubicacion = array("Guajira" => "norte", "Leticia"=> "Sur", "Santander"=> "Este","Antioquia"=> "Oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio"=> "LLano", "Quindio"=> "Valle"); function buscar($clima\_val, $ubicacion\_val, $turismo\_val, $clima, $ubicacion, $turismo) { switch ($clima\_val) { case "Frio": echo array\_search("Frio", $clima); break; case "Calido": echo array\_search("Calido", $clima); break; case "Templado": echo array\_search("Templado", $clima); break; default: echo "No hay resultado para el clima."; break; } echo "\n"; // Salto de línea para mayor claridad switch ($ubicacion\_val) { 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; default: echo "No hay resultado para la ubicación."; break; } echo "\n"; // Salto de línea para mayor claridad switch ($turismo\_val) { case "mar": echo array\_search("mar", $turismo); break; case "LLano": echo array\_search("LLano", $turismo); break; case "Valle": echo array\_search("Valle", $turismo); break; default: echo "No hay resultado para el turismo."; break; } } // Llamada a la función buscar buscar("Frio", "norte", "Valle", $clima, $ubicacion, $turismo); ?>
Holiiiss, hice un ejemplo con las regiones y estados de venezuela ```js "Frío", "Zulia" => "Caliente", "Yaracuy" => "Templado"); $ubication = array("Mérida" => "Oeste", "Zulia" => "Norte", "Yaracuy" => "Oeste"); $tourism = array("Mérida" => "Valle", "Zulia" => "Mar", "Falcón" => "Desierto"); switch ("weather") { case "weather": { echo "Un estado con clima templado es " . array_search("Templado", $weather); } break; case "ubication": { echo "Un estado ubicado en el oeste es " . array_search("Oeste", $ubication); } break; case "tourism": { echo "En " . array_search("Valle", $tourism) . "puedes encontrar valles."; } break; } } recomendacion(); ?> ```
```html "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("norte",$ubicacion); break; case "turismo": echo array_search("llanos", $turismo); break; } } recomendacion(); ?> ```\ "frio", "Monteria" => "calido", "medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llanos", "Riohacha" => "desierto", "Quindio" => "valle"); switch("turismo") { case "clima": echo array\_search("calido", $clima); break; case "ubicacion": echo array\_search("norte",$ubicacion); break; case "turismo": echo array\_search("llanos", $turismo); break; } } recomendacion(); ?>
Este es mi humilde aporte para realizar las búsquedas consultando al usuario: ```js "Frío", "Arequipa" => "Templado", "Lima" => "Templado", "Tacna" => "Calor"); $ubicacion = array("Cusco" => "Sureste", "Arequipa" => "Suroeste", "Lima" => "Oeste", "Tacna" => "Noroeste"); $turismo = array("Cusco" => "Ruinas Incaicas", "Arequipa" => "Volcanes", "Lima" => "Mar", "Tacna" => "Desierto"); switch ($preferencia) { case "clima": echo array_search($caracteristica, $clima); break; case "ubicacion": echo array_search($caracteristica, $ubicacion); break; case "turismo": echo array_search($caracteristica, $turismo); break; } } pregunta(); ?> ```
🇵🇪 He aquí mi aporte con las ciudades peruanas: ```js "Frío", "Arequipa" => "Templado", "Lima" => "Templado", "Tacna" => "Calor"); $ubicacion = array("Cusco" => "Sureste", "Arequipa" => "Suroeste", "Lima" => "Oeste", "Tacna" => "Noroeste"); $turismo = array("Cusco" => "Ruinas Incaicas", "Arequipa" => "Volcanes", "Lima" => "Mar", "Tacna" => "Desierto"); switch ("turismo") { case "clima": echo array_search("Templado", $clima); break; case "ubicacion": echo array_search("Sureste", $ubicacion); break; case "turismo": echo array_search("Mar", $turismo); break; } } recomendacion(); ?> ```
```js "frio", "Monteria"=>"calido", "Medellin"=>"templado"); $ubicacion = array("Guajira"=>"norte", "Leticia"=>"sur", "Santander"=>"este", "Antioquia"=>"oeste"); $turismo = array("Santa Marta"=>"mar", "Villavicencio"=>"llanos", "Riohacha"=>"desierto", "Quindio"=>"valle"); switch ("clima") { 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(); ?> ``` echo array\_search("norte",$ubicacion);
![](https://static.platzi.com/media/user_upload/Captura-4cc4c924-3497-4e7b-ab35-dc0237481e81.jpg)
Hola profe, tengo una recomendación para ti, soy una adolescente y pues aparte de eso tus clases estuvieron muy buenas pero es que quiero que tengas en cuenta que los que toman el curso no solo son mujeres sino que también hay hombres para que lo tengas en cuenta, muchas gracias.
![](https://static.platzi.com/media/user_upload/image-2443ed94-81fc-45c7-ad15-dbe2d198eda5.jpg)
![](https://static.platzi.com/media/user_upload/image-b024cd3b-add2-4e70-b1c9-394d91be354e.jpg)
![](https://static.platzi.com/media/user_upload/image-2df4a20e-343b-43f9-8a91-91f26805c407.jpg)
no me realiza la busqueda, y estoy mirando el codigo es el mismo pero no me muestra el resultado deberia ser bogota, pero no lo hace
no me siento muy convencido porque en la clase antrerior la indicacion dice que cambiempos el nombre del index a buscador y en este ya dice index porque a mi no me corria y no dice el porque para que no me pierda, ( *la verdad estoy aprendiendo de cero y no me quedo muy claro* )
```ts "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
```html "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
lenguaje en php. ```txt "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ```
lenguaje php. ```js "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> ``` \ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } buscador(); ?>
Lenguaje en php. ```js <html> <head> <title>PHP Test</title> </head> <body> "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> </html> ```
lenguaje php. ```js <html> <head> <title>PHP Test</title> </head> <body> "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } buscador(); ?> </html> ```
Comparto mi solución: ```js "frio", "Montería" => "calido", "Medellín" => "templado" ); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste" ); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle" ); switch("clima"){ case "clima": $resultado_clima = array_search("frio", $clima); echo "La ciudad recomendada es: "; print_r($resultado_clima); break; case "ubicacion": $resultado_ubicacion = array_search("norte", $ubicacion); echo "La ciudad recomendada es: "; print_r($resultado_ubicacion); break; case "turismo": $resultado_turismo = array_search("mar", $turismo); echo "La ciudad recomendada es: "; print_r($resultado_turismo); break; } } recomendacion(); ?> ```
Comparto mi solución \ "frio", "Montería" => "calido", "Medellín" => "templado" ); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste" ); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle" ); switch("clima"){ case "clima": $resultado\_clima = array\_search("frio", $clima); echo "La ciudad recomendada es: "; print\_r($resultado\_clima); break; case "ubicacion": $resultado\_ubicacion = array\_search("norte", $ubicacion); echo "La ciudad recomendada es: "; print\_r($resultado\_ubicacion); break; case "turismo": $resultado\_turismo = array\_search("mar", $turismo); echo "La ciudad recomendada es: "; print\_r($resultado\_turismo); break; } } recomendacion(); ?>
```js "frio", "Villavicencio" => "Calido", "Pereira" => "Templado"); $ubicacion = array("Guajira" => "Norte", "Mocoa" => "Sur", "Yopal" => "Oriente"); $turismo = array("Santa Marta" => "Mar", "Villavicencio" => "Joropo", "Medellin" => "Paisitas"); #crear swich para verificar si cumple con las condiciones de interes switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ?> ```Como recomendacion personal: Pilas con mayusculas minusculas puntos comas y cualquier cosa con que denominen cualquiere elemento. PHP no perdona y no olvida.
```js "frio", "Villavicencio" => "Calido", "Pereira" => "Templado"); $ubicacion = array("Guajira" => "Norte", "Mocoa" => "Sur", "Yopal" => "Oriente"); $turismo = array("Santa Marta" => "Mar", "Villavicencio" => "Joropo", "Medellin" => "Prepagos"); #crear swich para verificar si cumple con las condiciones de interes switch("clima"){ case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ?> ```Como recomendacion por experiencia propia: Pongan cuidado a las mayusculas, minusculas con las que nombran y escriben las caracteristicas de los elementos que conforman tanto arrays como variables. PHP No perdona y no olvida.
```js "Frio" , "ese clima lo encuentras en Cali" => "caliente" , "ese clima lo encuentras en Medellín" => "Chimbita"); $ubicacion = array("en esa ubicación encuentras Bogotá" => "centro" , "en esa ubicación encuentras Cali" => "sur" , "en esa ubicación encuentras Medellin" => "norte"); $comida = array("eso lo puedes comer en Bogotá" => "changua" , "eso lo puedes comer en Cali" => "chuleta" , "eso lo puedes comer en Medellin" => "Chicharron"); switch("altura") { case "clima": echo array_search("Chimbita" , $clima); break; case "ubicacion": echo array_search("sur" , $ubicacion); break; case "comida": echo array_search("changua" , $comida); break; default: echo "pregúntale a chatgpt"; break; } } recomendacion(); ?> ```\ "Frio" , "ese clima lo encuentras en Cali" => "caliente" , "ese clima lo encuentras en Medellín" => "Chimbita"); $ubicacion = array("en esa ubicación encuentras Bogotá" => "centro" , "en esa ubicación encuentras Cali" => "sur" , "en esa ubicación encuentras Medellin" => "norte"); $comida = array("eso lo puedes comer en Bogotá" => "changua" , "eso lo puedes comer en Cali" => "chuleta" , "eso lo puedes comer en Medellin" => "Chicharron"); switch("altura") { case "clima": echo array\_search("Chimbita" , $clima); break; case "ubicacion": echo array\_search("sur" , $ubicacion); break; case "comida": echo array\_search("changua" , $comida); break; default: echo "pregúntale a chatgpt"; break; } } recomendacion(); ?>
```js "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") { case "clima": echo array_search("frio", $clima); break; case "ubicacion": echo array_search("norte", $ubicacion); break; case "turismo": echo array_search("mar", $turismo); break; } } recomendacion(); ```\ "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto", "Quindio" => "valle"); switch("clima") { case "clima": echo array\_search("frio", $clima); break; case "ubicacion": echo array\_search("norte", $ubicacion); break; case "turismo": echo array\_search("mar", $turismo); break; } } recomendacion();
\ "Frio", "Monteria" => "Calido", "Medellin" => "Templado" ); $ubicacion = array ("Guajira" => "Norte", "Leticia" => "Sur", "Santander" => "Este", "Antioquia" => "Oeste"); $turismo = array ("Santa Marta" => "Mar", "Villavicencio" => "Llanos", "Riocha" => "Desierto", "Quindio" => "Valle"); $comida= array ( "Sancocho" => "Costa" ) ; switch("comida"){ case "clima": echo array\_search("Calido", $clima); break; case "ubicacion": echo array\_search("Este", $ubicacion); break; case "turismo": echo array\_search("Desierto", $turismo); break; case "comida": echo array\_search("Costa", $comida); break; } } recomendacion(); ?>
bua lo que sufrí por no poner ';' jajajajaa muy divertido esto de la programación, puede que genere algo de dolor de cabeza pero es un mundo genial
```html "frio", "Monteria" => "calido", "Medellin" => "templado"); $ubicacion = array("Guajira" => "norte", "Leticia" => "sur", "Santander" => "este", "Antioquia" => "oeste"); $turismo = array ("Santa Marta" => "mar", "Villavicencio" => "llano", "Riohacha" => "desierto","Quindio" => "valle"); switch($busqueda){ case "clima"; echo "¿Ciudad/departamento con clima frio ? "; echo array_search("frio", $clima); break; case "ubicacion"; echo '

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

Mi código:

<?php

    #It returns a recommendation based on the user search category

    function recommendation($category) {

        $city;

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

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

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

        switch($category) {

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

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

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

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

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

$ubicacion = array(“Guajira” => “norte”, “Leticia” => “sur”, “Santanter” => “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(“norte”, $ubicacion);
break;
case “turismo”:
echo array_search(“desierto”, $turismo);
break;
}
}
recomendacion();

?>

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

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

"; echo "\

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

"; echo "\

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

"; ?>

Tuve una idea de como mejorar el codigo

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

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

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

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

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

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

Mi código:
Creé una función que recibe el parámetro de búsqueda, ‘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();