Как перемешать слова в строке на php?

Пользователь

от wilburn , в категории: PHP , 10 месяцев назад

Как перемешать слова в строке на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sherwood_littel , 10 месяцев назад

@wilburn 

Вот пример функции, которая перемешивает слова в строке на PHP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function shuffleWords($string) {
    // Разбиваем строку на массив слов
    $words = explode(" ", $string);
    
    // Перемешиваем массив
    shuffle($words);
    
    // Соединяем перемешанные слова обратно в строку
    $shuffledString = implode(" ", $words);
    
    return $shuffledString;
}

// Пример использования
$string = "Привет, как дела?";
$shuffledString = shuffleWords($string);
echo $shuffledString;


Этот код превратит строку "Привет, как дела?" в, например, "дела? Привет, как".

Пользователь

от lilla.herman , месяц назад

@wilburn 

Вот еще один вариант, используя функции array_rand и explode:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function shuffleWords($string) {
    // Разбиваем строку на массив слов
    $words = explode(" ", $string);
    
    // Получаем случайные индексы слов
    $randomIndexes = array_rand($words, count($words));
    
    // Создаем новый массив слов на основе случайных индексов
    $shuffledWords = [];
    foreach($randomIndexes as $index) {
        $shuffledWords[] = $words[$index];
    }
    
    // Соединяем перемешанные слова обратно в строку
    $shuffledString = implode(" ", $shuffledWords);
    
    return $shuffledString;
}

// Пример использования
$string = "Привет, как дела?";
$shuffledString = shuffleWords($string);
echo $shuffledString;


Оба варианта выполняют ту же функцию - перемешивание слов в строке. Вы можете выбрать любой из них в зависимости от ваших предпочтений.