関数・クラス解説

str_shuffle

version:PHP 4 >= 4.3.0, PHP 5, PHP 7 (公式)

文字列の並び順をランダムに並び変える

フォーマット

string : str_shuffle ( string $str )

パラメータ

string $str
入力文字列

返値 string
並び順をシャッフルした文字列を返却します

解説

この関数は文字列の並び順をランダムに並び変えます。結果はランダムなため、実行のするごとに違う結果が返却されます。この関数はマルチバイト文字列には対応していません。

記述サンプル

//PHP 7.4.6で実行

//文字列を指定
$str = 'abcdefgABCDEFG';

//実行
$result = str_shuffle($str);

// 並び順が変更される(実行の都度結果は変わる)
echo $result;
gcbGDAfECadeFB

/* ----------------------------- */

//記号を指定
$str = '!#$%&()=~}{';

//実行
$result = str_shuffle($str);

// bfdaec のような文字列を返します
echo $result;
&!$(=})#%~{

/* ----------------------------- */

//マルチバイト文字列を指定
$str = 'あいうえおかきくけこ';

//実行
$result = str_shuffle($str);

// 文字化けした文字が返る
echo $result;
����ぁ������い����㊍��く��

参考リンク

rand 乱数を生成する
shuffle 配列をシャッフルする

タグ

並び順 並び変え シャッフル ランダム String 文字列


公式リファレンス

書式

str_shuffle ( string $str ) : string

説明

str_shuffle() は文字列をシャッフルします。 考えられるすべての順列のうちのひとつを作成します。

警告

この関数が生成する値は、暗号学的に安全ではありません。そのため、これを暗号として使ってはいけません。暗号学的に安全な値が必要な場合は、random_int() か random_bytes() あるいは openssl_random_pseudo_bytes() を使いましょう。

パラメータ

str
入力文字列。

返値

シャッフルされた文字列を返します。

更新履歴

バージョン 説明
7.1.0 内部的なランダム化アルゴリズムは、 libc の rand 関数ではなく、 » メルセンヌツイスタ 乱数生成器を使うように 変更されました

サンプル

例1 str_shuffle() の例

$str = 'abcdef'; $shuffled = str_shuffle($str); // bfdaec のような文字列を返します echo $shuffled;

参考

  • shuffle() - 配列をシャッフルする
  • rand() - 乱数を生成する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール