私がオススメするプログラミング教材です

【PHP入門】ランダムな数値や文字列を生成する方法

更新日:

記事の内容


この記事では、ランダムな数値や文字列を生成する方法を紹介します。
rand、random_int、mt_rand、array_rand、str_shuffle、uniqidといった関数を使います。
また、乱数ではありませんがhash値を求める方法も紹介します。
PHPのバージョンは、7系です。

rand関数

rand関数は、乱数を生成する関数です。
ただし、いくつかの注意事項があります。

  • PHP7.1.0以降、rand()はmt_rand()のエイリアスなので同じ関数です。
  • この関数が生成する値は、暗号学的に安全ではありません

random_int関数

暗号学的に安全な乱数を生成します。




mt_rand関数

mt_rand関数は、乱数を生成する関数です。
ただし、いくつかの注意事項があります。

  • PHP7.1.0以降、rand()はmt_rand()のエイリアスなので同じ関数です。
  • この関数が生成する値は、暗号学的に安全ではありません

array_rand関数

一つ以上のランダムな値を配列から取り出し、 取り出した値のキーを返します。
引数を指定すれば、複数の値を取り出すこともできます。

str_shuffle関数

文字列をランダムにシャッフルする関数です。
暗号学的に安全ではありません。

uniqid関数

一意なIDを生成します。
ただし、一意なIDを生成することを保証はしません。
一応、引数を指定することで一意性を高めることができます。
暗号学的に安全ではありません。

hash関数

hashとは、ある値を入れた時に生成される文字列です。
ここでは、SHA-256というアルゴリズムを使います。
乱数とは違って、ある値、例えば「a」という値から生成されるhash値は常に同じです。
同様に、「1」という値から生成されるhash値も常に同じです。

hash関数は、パスワードをデータベースに入れる時などに、よく使われます。
複合(元に戻すこと)は事実上、不可能なので暗号化とは別物です。

PHPをより詳しく勉強したい人には、この記事がオススメです


Laravelをより詳しく勉強したい人には、この記事がオススメです


WordPressをより詳しく勉強したい人には、この記事がオススメです


Rubyをより詳しく勉強したい人には、この記事がオススメです


Javaをより詳しく勉強したい人には、この記事がオススメです


Gitをより詳しく勉強したい人には、この記事がオススメです


Perlをより詳しく勉強したい人には、この記事がオススメです


ゼロからWebエンジニアになりたい人には、この記事がオススメです


独学で実務っぽい経験を積みたい人には、この記事がオススメです

-PHP, プログラミング

Copyright© プログラミング道場 , 2025 All Rights Reserved Powered by AFFINGER4.