ランダムな英数字・文字列を生成する 関数・クラスを作成する平成30年 6月 23日 作成

0073

概略

ランダムな英数字・文字列を桁数指定で取得したい場面が出てきた為、実現する方法を調査し習得する。

手段

桁数指定した上でランダムな英数字・文字列を生成できる関数・クラスの作成を最終目的とすると、range・array_merge・mt_rand関数を駆使すると目的が達成できる。


range関数にて使用した英数字・文字列の範囲指定を行い、array_merge関数にて結合していく。

指定桁数分をmt_rand関数にてランダム抽出する。

実装方法

関数

<?php
	function RandomStr($length = 10){
		$set_str = "";
		$str = array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9'));
		for($i=0;$i<$length;$i++) {
		    $set_str .= $str[mt_rand(0, count($str) - 1)];
		}
		return $set_str;
	}
?>

クラス

<?php
	class RandomStr{
		function Generation($length = 10) {
			$set_str = "";
			$str = array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9'));
			for($i=0;$i<$length;$i++) {
			    $set_str .= $str[mt_rand(0, count($str) - 1)];
			}
			return $set_str;
		}
	}
?>

結果 下記のような英数字を含む文字列が生成される。

// RandomStr関数の出力結果
echo RandStr();
nwAw640qxn

echo RandStr(5);
jZ5yd

// RandomStrクラスの出力結果
$obj = new RandomStr();
echo $obj->Generation(20);
jdsxqewEalA8ygj7fcI0

考察

PHP公式サイトや様々なサイトを参考にさせて頂いき、無事目的を達成する事ができました。

最後までお読み下さり ありがとうございました。記事はここ迄です。

尚、本記事は作成から「5年以上」経過しています。

記事作成当時と現在の状況等により内容が適切でない場合があります。また、リンク切れが生じている場合もあります事を予めご了承下さい。

お気に入りに登録しますとお気に入り記事を一元管理でき、再度閲覧したい場合等 容易に記事を探し出す事ができますのでご活用下さい。

下段にはコメントを掲載しております。

広告バナー

コメント

頂いたコメントを下記に掲載しております。更に下部にはコメント投稿フォームを設けております。

注意事項を確認・了承した上、コメント投稿お願いいたします。

注意事項に該当するコメントにつきましては、事前告知なしに投稿したコメントの削除を行う場合があります。

予めご了承下さい。

  • 記事内容と無関係なコメント
  • 公序良俗に反するコメント
  • 個人情報や法令違反を含むコメント
  • その他、管理者が不適切と判断したコメント

現在 頂いているコメントはありません

返信先(コメント管理番号)コメントに対し返信する場合のみ
お名前・ハンドルネーム2~32文字内で入力下さい
メールアドレス公開される事はありません
電話番号半角数字+ハイフンで入力下さい
コメント全角500文字内で入力下さい