プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

自分の市場価値を知りたい人にオススメの記事です

【すぐできる】エンジニアとしての市場価値を診断してみよう!

エンジニアが市場価値を把握しておくべき理由 エンジニアは、なぜ市場価値を把握しておいた方がいいのか、まずはその理由について説明します。 エンジニアの市場価値を決める要素 エンジニアの市場価値を決める要素について説明します。 経験業務と年数 ...

続きを見る

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

私がおすすめするプログラミング教材のまとめ【書籍と動画】

これからエンジニアになりたい人へ向けた本 私が書いた、「これからエンジニアになりたい人」に向けた本です。 最近、世間ではプログラミングの必要性が声高く叫ばれるようになりました。 子供向けには2021年からプログラミング教育が義務教育で実施さ ...

続きを見る

【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エンジニアの求人

DODA

PHPエンジニアは、約3800件の案件が登録されていました。

PHPを使って働きたい人は、DODAに相談してみて下さい



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

PHPの学習でおすすめの本と動画(Udemy)【2022年最新】

▼ Laravelについてはこの記事で、バージョンごとに紹介しています 初心者向け【入門編】 脱初心者のための問題集 PHP編 PHPの基礎的な文法を学習し終わった後、次に何をしようかと考えている人にオススメの本です。 基礎を学んだ後にする ...

続きを見る


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

Laravelの学習でおすすめの本と動画(Udemy)【2022年最新】

Laravel5 PHPフレームワーク Laravel入門 本書は、Laravelのインストールから、フレームワークの中心になるModel-View-Controller(MVC)の使い方、開発に役立つ各種機能をわかりやすく解説した入門書で ...

続きを見る


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

WordPressの学習でおすすめの本【2022年最新】

初心者向け いちばんやさしいWordPressの教本 第4版 5.x対応 これからワードプレスを始める初心者にオススメの本です。 手早くサイトを作りたい人は、この本を買いましょう^^ 非常にわかりやすいです。 WordPress標準デザイン ...

続きを見る


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

Rubyの学習でおすすめの本と動画(Udemy)【2022年最新】

▼ Ruby on Railsについては、この記事で紹介しています 初心者向け【入門編】 脱初心者のための問題集 Ruby編 Rubyの基礎的な文法を学習し終わった後、次に何をしようかと考えている人にオススメの本です。 基礎を学んだ後にする ...

続きを見る


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

Javaの学習でおすすめの本と動画(Udemy)【2022年最新】

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 初心者向け 2週間でJava SE Bronzeの基礎が学べる本 Java SE Bronzeをこれから取得しようという人向けの書籍です。 14日で区切られている各章は ...

続きを見る


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

Gitの学習でおすすめの本【2022年最新】

漫画?でわかりやすく学ぶ入門書の定番 改訂2版 わかばちゃんと学ぶ Git使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 サルでもわかるGit入門 Gitの解説サ ...

続きを見る


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

Perlの学習でおすすめの本と動画(Udemy)【2022年最新】

初心者向け Perlではじめる プログラミング超入門 プログラミングの未経験者にもオススメできます。 Perlのインストール方法から基礎的な構文まで、丁寧に解説されています。 最後の方には、簡単なゲームも作ります。 かんたん Perl Pe ...

続きを見る


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

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


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

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-PHP, プログラミング

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