PHPで任意の文字列を乱数化して出力するのだ!(コピペでOK)

web

皆さんこんばんわ!バジラですぅ!

前回はですね、CSSによるブラー処理をご紹介しました。画像サイズがちいちゃいんだけども先方のお気に入りでどうしても使わなきゃいけないときとか、ホバーアクションとかなんかにも使えますよね!って話をした記憶があります!

んで、今回はですね、乱数です!英数字記号の乱数を生成しようと。パスワードの自動生成ツールなんかはこの仕組み使ってるんじゃないっすかね!

僕は以前案件でzipのダウンロードパス生成使った記憶があります!ダウンロードファイル名とかにするのもいいかもしれませんね!

カスタムの仕方次第では数限りなくいけそうな気もしますし、使いところは少ないかもしれませんが、知っておくと意外と結構便利!

せっかくなので覚えておきましょう!では早速コード!

はいコードだ!

<?php
$str = "1234567890abcdefghijklmnopqrstuvwxyz?!-_&$#"; //①ベースの文字列を$strで設定
$randoms = substr(str_shuffle($str), 0, 10); //②$str_shuffle()+substr()でランダム文字列作成

echo $randoms; //③えこー
?>
結果はこんな感じ!
mca9v?7p8b

リロードすると数字変わりますよね!これでいいんだ!これがいいんだ!フッフー!

ズバッと解説!

つか解説も何もない感じではありますが、変数$strにベースとなる文字列(出力に使用する)を代入して、それをstr_shuffle()でランダムに文字列をシャッフル → substr()で文字数なんかをしっかり指定して、変数$randomsに代入、エコーって流れですねー!

echoまでの流れ
  • 変数$strにベースの文字列を代入
  • $str_shuffle()で$strの文字列をシャッフルし、substr()で文字を抜き出す。(引数は左から対象文字列,開始位置,文字数)
  • エコーで出力

rand()ってのもありますが、あれは数字だけ!文字まで入れ込むならこれが便利かなーと思います!いつ使うんだって話ではありますが…

使う場面を考えてみる

基本的な使用場面としては、やはりパスワード生成が主になるのかなと思いますね!あとは、お客さんとのやり取りの中で、テスト確認をしてもらう事が発生すると思うのですが、その時のURLにgetでパラメータを付けるとかね。

あとは尖った趣旨が許容されるクライアントさん・サイトであったりするならば、ホラー的な演出の一つとして、「サイバー攻撃を受けている」ような演出を作る際なんかいいかもしれません。

お知らせの欄が「2026.6/15 弊社oa09-2^に547jsaの^[-*/+-65事件4AD6WD4」とかだと、サイバー攻撃感が出ていい感じになるかと思います!

ただまぁ先にも述べた通り、使用場所は限られるでしょう。wordpressにおいては会員系のサイト忌避されやすいですし、エンタメに特化したサイトというのも供給したい人間は溢れるほどにいるでしょうけども、正直そこまで需要は多くないはずです。

むずかしやー!

最後に

うーん!どうやって使うのか。いつ使うのかはかなり限定的ではあります。が、乱数自体がそもそも使用頻度が多くなりにくいものでもありますし、あくまで知識程度にしておいてもいいかもしれません。

がっちり覚えないで、そういえばどっかに落ちてたな。くらいでいいんもんだと思います!その時にはこのページに戻ってきてくれればうれしい限りですわ!

現場からは以上です。

今日使用した関数はこちら!

php
  • substr(対象文字列, 開始位置, 文字数)
  • $str_shuffle(対象文字列)
タイトルとURLをコピーしました