str_shuffle
文字列をランダムにシャッフルする
説明
string str_shuffle(string $string)
str_shuffle は文字列をシャッフルします。
考えられるすべての順列のうちのひとつを作成します。
警告
この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。
暗号学的にセキュアな乱数が必要な場合は、Random\Randomizer を Random\Engine\Secure と一緒に使いましょう。簡単なユースケースの場合、random_int と random_bytes 関数が、オペレーティングシステムの CSPRNG を使った、 便利で安全な API を提供します。
警告
この関数は、乱数のソースとしてグローバルな Mt19937 (メルセンヌ・ツイスター) インスタンスを使用するため、グローバルな Mt19937 を使用する他のすべての関数と状態を共有します。
これらの関数のいずれかを使用すると、スコープに関係なく、すべての他の関数のシーケンスも進みます。
mt_srand または srand に既知の値を指定してシードすることで再現可能なシーケンスを生成する場合、この関数からの出力も再現可能になります。
新しく書くコードでは、すべて Random\Randomizer のメソッドを使用することを推奨します。
例
例1 str_shuffle の例
<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);
// bfdaec のような文字列を返します
echo $shuffled;
?>
参考
- Random\Randomizer::shuffleBytes
- Random\Randomizer::shuffleArray