str_shuffle

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_shuffleПереставляет символы в строке случайным образом

Описание

str_shuffle(string $string): string

Функция str_shuffle() перемешивает символы в строке путём случайной перестановки.

Предостережение

Функция не создаёт безопасные для криптографических целей значения, поэтому функцию нельзя использовать в криптографических целях или ожидать возврата значения, которое невозможно угадать.

Безопасные для криптографических целей случайные последовательности создаёт композиция класса Random\Randomizer с движком Random\Engine\Secure. В простых сценариях пользуются функциями random_int() и random_bytes() с удобным и безопасным API-интерфейсом, который поддерживается безопасным для криптографических целей CSPRNG-генератором псевдослучайных чисел операционной системы.

Предостережение

Функция создаёт случайные последовательности через глобальный экземпляр генератора псевдослучайных чисел на основе алгоритма Mt19937 «Вихрь Мерсе́на» поэтому разделяет состояние с остальными функциями, которые генерируют случайности через глобальный генератор. Вызов каждой такой функции продвигает последовательность, независимо от области вызова.

Функция выдаст предсказуемые одинаковые последовательности, если инициализировать генератор псевдослучайных чисел функцией mt_srand() или srand() одним и тем же значением.

В новом коде случайные последовательности лучше генерировать через объект Random\Randomizer.

Список параметров

string

Входная строка.

Возвращаемые значения

Функция возвращает перемешанную строку.

Список изменений

Версия Описание
7.1.0 Внутренний алгоритм генерации случайных чисел изменился с функции rand библиотеки libc на генератор на базе » Вихря Мерсе́на.

Примеры

Пример #1 Пример перемешивания символов в строке функцией str_shuffle()

<?php

$str
= 'abcdef';
$shuffled = str_shuffle($str);

// Выведет что-то вроде: bfdaec
echo $shuffled;

Смотрите также