No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

Aplicación de Palabras: Ordenar Letras Desordenadas

11/17
Recursos

¿Cómo crear una aplicación para ordenar palabras?

El desarrollo de aplicaciones educativas puede ser todo un desafío, pero también una experiencia altamente gratificante. Uno de los proyectos que abordaremos es la creación de una aplicación que muestre palabras en desorden para que el usuario las ordene correctamente. Este ejercicio no solo enriquecerá tus habilidades de programación, sino que también te permitirá aplicar lógica y creatividad. Vamos a analizar paso a paso cómo puedes llevar a cabo este proyecto.

¿Cómo se estructura el proyecto?

La primera etapa para lograr una aplicación eficiente es entender claramente el problema. En este caso, nuestra meta es desarrollar una aplicación donde el usuario vea una lista de palabras con sus letras desordenadas. El usuario deberá ordenar las letras, y luego verificar si ha acertado.

Aquí están los pasos iniciales que debes seguir:

  1. Lista de palabras: Inicialmente, necesitas una lista de palabras que usaremos como referencia para desarrollar el algoritmo. Por ejemplo, puedes empezar con "sol", "luna" y "cielo".

  2. Desordenar las letras: Cada palabra se debe mostrar con sus letras en orden aleatorio. Así, "sol" puede presentarse como "l o s".

  3. Creación de inputs y botones: Al lado de cada palabra desordenada, deberás incluir un campo input donde el usuario pueda escribir lo que cree que es la palabra correcta. Añade un botón para enviar la respuesta.

¿Cómo se confirma la respuesta del usuario?

Una parte esencial de la aplicación es proporcionar retroalimentación al usuario sobre sus respuestas. Después de que el usuario ingresa su respuesta, deberás determinar si es correcta o incorrecta y mostrar el resultado correspondiente.

  1. Verificación de las respuestas: Las respuestas ingresadas por el usuario se compararán con las palabras originales. Necesitarás un script en PHP que realice esta verificación y envíe la respuesta adecuada.

  2. Mostrar resultados:

    • Si el usuario acierta, se le debe indicar que era la palabra correcta.
    • En caso contrario, debes mostrarle cuál era la palabra correcta.

¿Cómo se lleva esto al código?

El diseño del flujo de flujo previamente descrito debe traducirse en código. Inicialmente, centrarás tu atención en el front-end, construyendo la interfaz gráfica, y después integrarás la lógica del back-end:

  • Front-end: Con HTML y JavaScript podrás crear la estructura de la aplicación. Aquí es donde implementarás los inputs y el botón para enviar las respuestas
<input type="text" id="word1">
<button onclick="checkWord()">Enviar</button>
  • Back-end: Utiliza PHP para recibir los datos, procesarlos y devolver un feedback inmediato al usuario. Aquí realizarás todas las comparaciones necesarias.
<?php
// Ejemplo de lógica para verificar la respuesta
if ($_POST['word1'] == "sol") {
    echo "¡Correcto!";
} else {
    echo "Incorrecto, la palabra era 'sol'";
}
?>

¿Cuál es el siguiente paso?

Una vez que tengas una versión funcional básica, es hora de pensar en mejorar la experiencia del usuario. Puedes agregar más palabras, utilizar efectos visuales para las animaciones de las letras, o incluso almacenar el progreso del usuario para ofrecer una experiencia más personalizada.

¡La creatividad es el límite! Con este proyecto, no solo mejorarás como programador, sino que también potenciarás tu habilidad para resolver problemas. Así que, ¡manos a la obra y sigue aprendiendo!

Aportes 23

Preguntas 0

Ordenar por:

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

Hago el intento antes de pasar a la siguiente clase:

<?php
$palabras=["enredadera","sombra","hoja","pasto","edificio","gatos"];
$retos=["endararede","brosam","ahjo","taspo","ifecoidi","gosta"];

$respuestas = ($_REQUEST !== null) ? $_REQUEST : "";
if($respuestas) {
    $indice = 0;
    foreach($respuestas as $respuesta) {
        $correcta=$palabras[$indice++];
        if($respuesta == $correcta) {
            echo "<strong>$respuesta</strong>: ¡Respuesta correcta! :) <br>";
        }else {
            echo "<strong>$respuesta</strong>: ¡Incorrecto! :( La respuesta es: " . $correcta . "<br>";
        }
    }
    exit();
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Juego</title>
</head>
<body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <?php
        $i=0;
        foreach($retos as $reto) {
            echo "<p><strong>$reto</strong>  <input type='text' name='respuesta" . ++$i ."'></p>";
        }
    ?>
        <button type="submit">Enviar</button>
    </form>
</body>
</html>

Tambien hago el intento antes de seguir:

<?php

$palabras = [
    'hola',
    'auto',
    'tenis',
    'messi'
];

$respuestas = [];
$respuestas[] = $_REQUEST['p1'];
$respuestas[] = $_REQUEST['p2'];
$respuestas[] = $_REQUEST['p3'];
$respuestas[] = $_REQUEST['p4'];

$i = $correctas = 0;
$incorrectas = [];
foreach($respuestas as $res) {
    ($res === $palabras[$i] && in_array($res, $palabras)) 
        ? $correctas++ 
        : $incorrectas[$i] = $res; 
    $i++;
}

echo "Las incorrectas son: <br/>";
foreach($incorrectas as $key => $val) {
    echo '<li>' . $val . ' => ' . $palabras[$key] . '<br/>';
}

$total = count($palabras);
echo "Respuestas correctas: ${correctas} de ${total}"; 

Carga de datos:

Resultados:

Lo hice asi:

$palabrasOrden = array("txt1" => "amor", "txt2" => "rio", "txt3" => "paz"); 

foreach ($_REQUEST as $clave => $texto){
    if($texto == $palabrasOrden[$clave]){
        echo "$texto : Correcto <br>"; 
    }else{
        echo "la palabra correcta era: $palabrasOrden[$clave] - escribiste : $texto <br>"; 
    }
}

Sobre PHP y su Scope

Seguramente si vienes de otro lenguaje como Js y estas jugando con las funciones ya te encontraste con el mismo problema que yo el scope aqui php no es tan permisivo al parecer pero no te preocupes te dare un poco mas de contexto
Ve mi espacio en NOTION
https://bronze-risk-958.notion.site/Practica-y-mas-fundamentos-4af321cbc54d426abd1d01bd224888a9

```js <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body>

Adivina Las Palabras

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" style="display:flex; flex-direction:row; align-items:center;">
$reto){ $index = $key + 1; echo "

$index. $reto

"; } ?>
"; } ?> <button style="margin-top:15px" type="submit">Enviar</button>
</form>
</body> </html> ```
![](https://static.platzi.com/media/user_upload/image-d1347085-e42e-43cf-b94a-a721ab718f95.jpg) logrado, el sistema evalua el array, lo cuenta y de este toma una palabra gracias el script de rang, el cual me genera un numero aleatorio, con readline, mando a preguntar la palabra y si esta corecta, este suma un punto si es incorecta otro tipo de punto, eso hasta llegar al total de intentos, que es el total de palabras del array

Me quedé en el array de palabras desordenadas

<?php
$palabras = ["armario", "feriado", "colegio", "oficina", "azulejo"];
$palabras_barajadas = [];

foreach ($palabras as $barajar) 
    array_push($palabras_barajadas, str_shuffle($barajar));

var_dump( $palabras_barajadas);
?>

Hice mi intento con lo que entendí de la descripción. Me quedó diferente a lo que la profe luego explicó que debía ser el juego. Hice mi juego para ser utilizado en consola, donde el usuario tiene 6 intentos para adivinar correctamente cuál es la palabra.
Comparto mi código:

<?php

$words = ["Lampara", "Esquina", "Cuadrado", "Aguja", "Panel", "Juguete", "Avion", "Carro", "Pelicula", "Esternocleidomastoideo"];

$randomWord = $words[rand(0, count($words) - 1)];

$shuffledWord = str_shuffle($randomWord);
$totalAttempts = 6;

echo "Bienvenido al juego 🤡" . PHP_EOL;
echo "Te voy a dar una palabra desordenada. Tu tarea es adivinar cuál es la palabra correcta." . PHP_EOL;
echo "La palabra es: '$shuffledWord'. Tienes $totalAttempts intentos." . PHP_EOL;
echo "\n";

do {
  $userAttempt = trim(strtolower(readline("Escribe aquí tu palabra: " . PHP_EOL)));
  if ($userAttempt === strtolower($randomWord)) {
    echo "Lo lograste! 😄" . PHP_EOL;
    break;
  } else {
    $totalAttempts--;
    if (!$totalAttempts)
      break;
    echo "Buen intento, pero no. Te " .
      ($totalAttempts === 1 ? 'queda' : 'quedan') .
      " $totalAttempts " .
      ($totalAttempts === 1 ? 'intento' : 'intentos') . PHP_EOL;
  }
} while ($totalAttempts > 0);

if ($totalAttempts === 0) {
  echo PHP_EOL . "Perdiste :( La palabra era '$randomWord'" . PHP_EOL;
}

he a qui la forma en como lo hice.

<?php

/*
	Lista de palabras
	Mostra lista de palabras desordenadas
	solicitar ingresar palabras ordenadas al usuairo
	mostrar resultado
*/

//Lista de palabras
$palabras = ["Hallking", "Quesada", "Medina"];


$palabrasCorrectas = [];
$palabrasIncorrectas = [];

foreach ($palabras as  $value) {

	//Desordenar palabras
	echo 

	//Solicitamos el ingreso de la palabra.
	$palabraOrdenada = readline("Ingresa la siguiente palabra en el orde correto '". str_shuffle($value)."'\n");

	//Asignamos la palabra a el array correcto o incorrecto segun corresponda.
	if($palabraOrdenada == $value)
		array_push($palabrasCorrectas, $value);
	else
		array_push($palabrasIncorrectas, $value);

}

echo "\n\n";

//Mostramos el resultado de las palabras correctas
echo "Tus palabras correctas fueron\n";

foreach ($palabrasCorrectas as $value) {
	echo "\n".$value."\n";
}

//Mostramos el resultado de las palabras incorrectas
echo "\nTus palabras incorrectas fueron\n";

foreach ($palabrasIncorrectas as $value) {
	echo "\n".$value."\n";
}

echo "\n\n";

Hice el intento antes de seguir con las clases:

Aqui esta mi pequeño aporte. 😃

voy al curso de html por que nose nada desde esta clase 12 asta la clase 17

Mi intento

<?php
define('PAROLE', [
    'scoula', 'giorno', 'nipote', 'raconto'
]);
$resp = [];
if (!empty($_POST)) {
    $i = 0;
    foreach (constant('PAROLE')  as $key => $value) {
        if ($value == $_POST['parole' . $i]) {
            array_push($resp, "Correcto");
        } else {
            array_push($resp, "Incorrecto");
        }
        $i++;
    }
}
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            border: none;
            border-radius: 4px;
        }

        .card {
            background-color: pink;
            padding: 4px;
            margin: auto;
            width: 500px;
        }

        .card .form-group {
            margin: 4px;
            padding: 4px;
            background-color: blue;
            display: flex;
            font-size: 28px;

        }

        .card .form-group label,
        .card .form-group input {
            width: 50%;
            display: flex;
            justify-content: center;
        }

        .card .row .btn-primary {
            border: none;
            background-color: plum;
            width: 148px;
            padding: 5px;
            font-size: 30px;
            margin: 4px;
            cursor: pointer;
            font-size: 28px;

        }

        span {
            font-weight: bold;
        }
    </style>
</head>

<body>
    <div class="card">
        <form action="parole.php" method="POST">
            <?php
            $i = 0;
            foreach (constant('PAROLE') as $key => $value) :
            ?>
                <div class="form-group">
                    <label for="<?= $i ?>"> <?= str_shuffle($value); ?> </label>
                    <input type="text" id="<?= $i ?>" name="parole<?= $i ?>">
                </div>
            <?php
                $i++;
            endforeach; ?>
            <div class="row">
                <button type="submit" class="btn btn-primary">Send</button>
            </div>
        </form>
        <?php
        if (!empty($_POST) && !empty($resp)) :
        ?>
            <div class="row">
                <ul>
                    <?php
                    $j = 0;
                    foreach ($resp as $key => $value) :
                    ?>
                        <li> <span><?= $value ?></span> Tu escribiste <span><?= $_POST['parole' . $j] ?></span> y la respuesta es: <?= constant('PAROLE')[$j] ?></li>
                    <?php
                        $j++;
                    endforeach;
                    ?>
                </ul>
            </div>
        <?php
        endif;
        ?>
    </div>
</body>

</html>

<?php
$palabras = array(‘Idania’, ‘Omar’, ‘Orion’, ‘Meraki’, ‘Eduardo’);

//echo sizeof($palabras); //Comprueba la longitud del arreglo, aka cantidad de palabras

shuffle ($palabras); //Revuelve las palabras, para evitar que sea repetitivo

if(isset($_POST[‘picafresa’])){
for($i = 0; $i < sizeof($palabras); $i++){
//Esto automatiza la captura de los input texts generados automáticamente en el caso false del if
$NombreOk = “palabraOk$i”;
$Nombre = “palabra$i”;

    //Muestra para ver que todo está bien
    //echo $NombreOk."<br>";
    //echo $Nombre."<br>";

    //Atrapa los valores enviados en el form usando los nombres de los inputs y asigna sus valores en las palabras correspondientes
    $palabraOk = $_POST[$NombreOk];
    $palabra = $_POST[$Nombre];
    //echo $palabraOk."<br>";
    //echo $palabra."<br>";

    //Comenzamos la evaluación con de lo ingresado
    echo "Palabra: $palabraOk, ingresaste $palabra. Resultado: ";       //Mensaje para el jugador
    if($palabraOk == $palabra){     //Evalua si las palabras son iguales para determinar si ganó o no
        echo "Correcto<br>";
    }else{
        echo "Incorrecto<br>";
    }
}

}else{
//Crear el formulario
echo “
<form method=‘post’>
Acomoda las palabras y gana una picafresa:”;
for($i = 0; $i < sizeof($palabras); $i++){
//echo $palabras[$i]."<br>"; //Mostrar la palabra a jugar

    //$longPalabra = strlen($palabras[$i]);             //Muestra la cantidad de palabras que hay en el juego
    $palabraRevuelta = str_split($palabras[$i],1);      //Convertimos la palabra en arreglo para seguir usando shuffle
    
    shuffle($palabraRevuelta);                          //Revuelve la palabra
    $palabraRevuelta = implode($palabraRevuelta);       //Convierte de nuevo arreglo a string para poder usarlo en echo

    //Bonito mensaje para el jugador con un cuadro escondido con la respuesta y otro a la vista para lo escrito por el jugador
    echo " 
        <br>
        $palabraRevuelta 
        <input type='text' name='palabraOk$i' value='$palabras[$i]' hidden >
        <input type='text' name='palabra$i'>
        <br>
        ";
}
//Termian el formulario con el botón que cambia el comportamiento de la página
echo "
<input type='submit' name='picafresa' value='Picafresa'>
</form>";

}
//sizeof me da el tamaño de los arreglos

die;

$Palabra = “Omar”;
$Long = strlen($Palabra);
$Palabra = str_split($Palabra,1);

echo “Caracteres: “.$Long.”<br>”;
echo $Palabra[0]."<br>";
echo $Palabra[1]."<br>";
echo $Palabra[2]."<br>";
echo $Palabra[3]."<br>";

die;

for ($i=0; $i < 4; $i++) {
echo $palabras [$i]."<br>";
/if ($i < 3) {
echo ", ";
}
/
}

/*
if(shuffle($Palabra)){
echo “Revuelto”;
}else{
echo “No revuelto”;
}
echo $Palabra."<br>";
*/

die;

//conteo inicia en la posicion 0, el conteo ninaliza en la posicion menor a 4 y el conteo incrementa
for ($i=0; $i < 4; $i++) {
$palabras [$i];
/if ($i < 3) {
echo ", ";
}
/
}
echo “\n”;

shuffle ($palabras);

foreach ($palabras as $palabrades){
echo “$palabrades “.”\n”;
}

#Para esté código me apoyaron por que me resulto complejo
?>

Buenos día,

Desarrolle el problema de la siguiente manera:

<?php

$data = $_REQUEST;

$palabrasCorrectas = [
    "palabraUna" => "sol",
    "palabraDos" => "carro",
    "palabraTres" => "elefante"
];


foreach($data as $propiedad => $valor) {
    if($propiedad === "palabraUna") {
        if($valor === $palabrasCorrectas[$propiedad]) {
            echo "Palabra correcta! escribiste: $valor y la palabra que esperabamos es: {$palabrasCorrectas[$propiedad]}";
            echo "<br>";
        } else {
            echo "Escogio la palabra incorrecta: $valor";
            echo "<br>";
        }
    }
    if($propiedad === "palabraDos") {
        if($valor === $palabrasCorrectas[$propiedad]) {
            echo "Palabra correcta! escribiste: $valor y la palabra que esperabamos es: {$palabrasCorrectas[$propiedad]}";
            echo "<br>";
        } else {
            echo "Escogio la palabra incorrecta: $valor";
            echo "<br>";
        }
    }
    if($propiedad === "palabraTres") {
        if($valor === $palabrasCorrectas[$propiedad]) {
            echo "Palabra correcta! escribiste: $valor y la palabra que esperabamos es: {$palabrasCorrectas["$propiedad"]}";
            echo "<br>";
        } else {
            echo "Escogio la palabra incorrecta: $valor";
            echo "<br>";
        }
    }
}

<?php

$edades = [
4,
5,
7,
10,
‘undefined age’
];

function espacios_correspondientes_en_la_bodega (array $edades) {
for ($i = 0; $i < count($edades); $i++) {
if(is_int($edades[$i])) {
if ($edades[$i] < 5) {
echo “<br>guarde sus juguetes en la parte inferior de la bodega.<br>”;
} elseif ($edades[$i] >= 5 && $edades[$i] <= 7) {
echo “<br>guarde sus juguetes en la parte media de la bodega.<br>”;
} else {
echo “<br>guarde sus juguetes en la parte alta de la bodega.<br>”;
}
} else {
echo “<br>guarde sus juguetes en la bodega de al lado.<br>”;
}
}
}

espacios_correspondientes_en_la_bodega ($edades);

Esta es mi solución, la hice de tal manera que escogiese unas palabras aleatorias dentro del array de palabras y también que generase aleatoriamente el desorden de cada palabra, se generan los inputs dependiendo de la cantidad de palabras necesaria

<?php
    function get_palabras($cantidad = 3){
        $shuffled = $GLOBALS['palabras'];
        shuffle($shuffled);
        return array_slice($shuffled,0,$cantidad);
    }

    function shuffle_palabras($palabras){
        for($i = 0; $i < count($palabras); $i++){
            $palabra = $palabras[$i];
            $palabra = str_split($palabra);
            shuffle($palabra);
            $palabra = implode('',$palabra);
            $palabras[$i] = $palabra;
        }
        return $palabras;
    }

    $palabras = ["hola", "prueba", "tienda", "gato", "perro"];
    $correctas = [];
    $display = [];
    $shuffled = [];
    $posted = false;
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        if(isset($_POST['btn'])){
            $posted = true;
            unset($_POST['btn']);
            foreach(array_keys($_POST) as $key){
                $split = explode('|',$key);
                array_push($display,$split[0]);
                array_push($correctas,($_POST[$key] == $palabras[$split[1]]));
                array_push($shuffled,$palabras[$split[1]]);
            }
        }
        else if(isset($_POST['reset'])){
            $shuffled = get_palabras();
            $display = shuffle_palabras($shuffled);
        }
    }
    else{
        $shuffled = get_palabras();
        $display = shuffle_palabras($shuffled);
    }

    #print_r($_REQUEST);
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Shuffle Words</title>
</head>
<body>
    <form action="" method="post">
        <?php for($i=0;$i<count($display);$i++): ?>
            <?php $palabra = $display[$i];?>
            <p><?=$palabra?></p>   
            <?php if($posted): ?> 
                <?php if(!$correctas[$i]): ?>
                    <p style="color:red;">Equivocada</p>
                <?php else:?>
                    <p style="color:green;">Correcta</p>
                <?php endif; ?>
            <?php endif; ?>
            <input type="text" name=<?="$palabra|".array_search($shuffled[$i],$palabras)?>>
        <?php endfor; ?>
        <br/>
        <br/>
        <input type="submit" name="btn" value="Enviar"/>
        <input type="submit" name="reset" value="Reiniciar"/>
    </form>
</body>
</html>

Es una logica algo basica

Yo creo que el problema esta bien, sin embargo, para poder comprender un planteamiento del problema se requiere una redacción perfecta para que se pueda interpretar.

Cuando dice en el planteamiento: Desarrollar una aplicación que muestre una lista de palabras en desorden se piensa que ordenada alfabéticamente esas palabras hasta que se explica el segundo punto ya puedes inferir que la palabra x es la que se van a desordenar sus letras para que el usuario busque esta.

Comparto mi solución, lo hice dinámico (cada vez que se añade una nueva palabra al array $palabras se crea un nuevo label, un input y también se hace la validación al final

index.php

<form action="resultados.php" method="POST">

    <?php

    $palabras = ["sol", "luna", "cielo", "tierra", "mar", "aire", "agua", "nube"];
    
    session_start();
    $_SESSION["palabras"] = $palabras;

    foreach ($palabras as $palabra) {
      $nuevaPalabra = str_shuffle($palabra);
    ?>
      <label><?php echo $nuevaPalabra ?></label>
      <input type="text" name="palabraIngresada<?php echo array_search($palabra, $palabras); ?>"><br><br>

    <?php
    }
    ?>

    <button type="submit">Listo</button>

  </form>

Los resultados se muestran en:
resultados.php

session_start();
$palabrasCorrectas = $_SESSION["palabras"];

foreach ($palabrasCorrectas as $palabraCorrecta) {
  $palabraIngresada = $_POST["palabraIngresada" . array_search($palabraCorrecta, $palabrasCorrectas)];

  if ($palabraIngresada == $palabraCorrecta) {
    echo "¡<b>$palabraIngresada</b> es correcta! <br>";
  } else {
    echo "¡<b>$palabraIngresada</b> es incorrecta! La palabra correcta es <b>$palabraCorrecta</b> <br>";
  }
}

Comparto mi solución. Agradezco sus comentarios 😄

<?php
/* descubrir palabra */
$palabraAdescubrir = "gorra";
echo str_shuffle($palabraAdescubrir);
?>
<p>¿Qué palabra es?</p>
<form action="">
<input type="text" name="palabra">
<input type="submit">
</form>

<?php
if(!empty($_GET['palabra'])){
    $palabra = $_GET['palabra'];
    echo $palabra;
        if ($palabra == $palabraAdescubrir){
            echo "<br><br>¡Correcto!";
        }else{
            echo "<br><br>Has fallado. intenta nuevamente";
        }
}
?>

Me falto la parte HTML pero aqui en el PHP, el array se desordena automaticamente (el orden) y aleatorio y con las palabras tambien las desordena automaticamente. Se pudo hacer de mejor forma pero de esta fue la que pude

<?php

$arraylist = array("Avion", "Carro", "Moto", "Monagas", "Cueva", "Cielo", "Cuba", "Guitarra");
$word_array = array_rand($arraylist, 1);
$word_array2 = array_rand($arraylist, 1);
$word_array3 = array_rand($arraylist, 1);

if ($word_array == $word_array2){
    $word_array = array_rand($arraylist, 1);
    if($word_array == $word_array){
        $word_array = array_rand($arraylist, 1);
    }
}else if ($word_array2 == $word_array3){
    $word_array2 = array_rand($arraylist, 1);
    if($word_array2 == $word_array3){
        $word_array2 = array_rand($arraylist, 1);
    }
}else if ($word_array3 == $word_array){
    $word_array3 = array_rand($arraylist, 1);
    if($word_array3 == $word_array){
        $word_array3 = array_rand($arraylist, 1);
    }
}

$result = [$arraylist[$word_array]];
$result2 =  [$arraylist[$word_array2]];
$result3 =  [$arraylist[$word_array3]];

function word_change($resultado){
    $result1 = implode($resultado);
$accion = str_shuffle($result1);
 if($accion == $result1){
     $accion = str_shuffle($result1);
}
    return $accion. "\n";
}
echo word_change($result);
echo word_change($result2);
echo word_change($result3);
?>```

<?php
//Se hace un arreglo con las palabras ordenadas
$palabras = [‘castillo’,‘plato’, ‘hogar’];
//Se debe de recibir lo ingresado en el input a través de la palabra reservada REQUEST
$palabrasR = [];
$palabrasR[] = $_REQUEST[‘p1’];
$palabrasR[] = $_REQUEST[‘p2’];
$palabrasR[] = $_REQUEST[‘p3’];

//Inicializamos las correctas en 0
$i = $correctas = 0;
$incorrectas = [];

foreach($palabrasR as $response) {
($response === $palabras[$i] && in_array($response, $palabras))
? $correctas++
: $incorrectas[$i] = $response;
$i++;
}
echo ‘RESPUESTAS:<br>’;
foreach($incorrectas as $t => $v) {

echo '<list>Ingresasate ' . $v . ' y era <b>' . $palabras[$t] . '</b><br/>';

}

$total = count($palabras);
echo “Tienes ${correctas} respuesta/as buena/as de ${total}.”;

?>