рандомизируйте слова, образующие предложение в php

#php

#php

Вопрос:

У нас есть упражнение, в котором у нас есть 3 поля ввода, из этих полей ввода появляется запах, но нам нужно рандомизировать расположение слов. И аромат не может быть прежним, я совершенно застрял на этом, кто-нибудь может мне помочь, это то, что у меня есть прямо сейчас :

 <?php
    $word1 = $_POST['word1'];
    $word2 = $_POST['word2'];
    $word3 = $_POST['word3'];
    $words = [$word1, $word2, $word3]
    
    if(isset($_POST['submit'])){
        if(empty($word1 amp;amp; $word2 amp;amp; $word3)){
            echo "Alle woorden invoeren.";
        } else {
            for($i = 0; $i <= 2; $i  ){
                shuffle($words);
                echo implode(" " ,$words);
                echo "<br>";
            }
        }
    }
?>
 

Комментарии:

1. Пожалуйста, разместите соответствующий код в виде текста, а не изображения. В отличие от изображений, текст можно легко копировать и выполнять поиск.

2. Кроме того, что вы подразумеваете под «предложения не могут быть одинаковыми»? Сколько предложений вы должны вывести?

3. Вы близки, но ваши определения переменных должны быть внутри if(empty , и вы не можете использовать amp;amp; внутри empty , используйте отдельно empty для каждой переменной.

4. Хорошо, я буду иметь в виду размещать код вместо изображений 🙂

5. например, если это такие слова: Привет, я Люциферно. Он не может распечатать I’m Luciferno Привет дважды. Мне нужно 3 слова распечатать три раза в разных порядках

Ответ №1:

Как сказано в комментариях, но ваши определения должны быть внутри if( . И вы должны использовать amp;amp; для каждого пустого.

 <?php
    if(isset($_POST['submit'])){
        $word1 = $_POST['word1'];
        $word2 = $_POST['word2'];
        $word3 = $_POST['word3'];
        $words = [$word1, $word2, $word3];
        if(empty($word1) || empty($word2) || empty($word3))){
            echo "Alle woorden invoeren.";
        } else {
            for($i = 0; $i <= 2; $i  ){
                shuffle($words);
                echo implode(" " ,$words);
                echo "<br>";
            }
        }
    }
?>
 

Если я не ошибаюсь, это должно быть то, что вы хотите.

Комментарии:

1. @Lucifenroo Примите ответ, нажав на галочку рядом с ним.

2. Кроме того, это не гарантирует, что 3 являются уникальными.