勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでランダムな値を取得したいケース諸々の対応方法

   2024/04/18  PHP

テストデータを作成する際にランダムな値を入れたかったけど、色々ケースがあったので対応方法をメモ。

 

対応方法

範囲内のランダムな数値を取得

rand(0,10);

0から10の中からランダムな数値を取得できる。

配列からランダムにキーを取得

array_rand($array,1);

$arrayという配列から1つランダムにキーを取得できる。

重複せずにランダムな数値を配列に格納する

$array = range(1,10);
var_dump($array); //array(10) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) [5]=> int(6) [6]=> int(7) [7]=> int(8) [8]=> int(9) [9]=> int(10) }
shuffle($array);
var_dump($array); //array(10) { [0]=> int(1) [1]=> int(3) [2]=> int(5) [3]=> int(6) [4]=> int(8) [5]=> int(2) [6]=> int(10) [7]=> int(4) [8]=> int(9) [9]=> int(7) }

 

リファレンス

rand

https://www.php.net/manual/ja/function.rand.php

array_rand

https://www.php.net/manual/ja/function.array-rand.php

range

https://www.php.net/manual/ja/function.range.php

shuffle

https://www.php.net/manual/ja/function.shuffle.php

 - PHP

  関連記事

PHPでの$_REQUESTは色々危険

extract($_REQUEST)はかなり怖いよ、という話が最近あった。 でき ...

CodeIgniter4で簡易版ログインシステムの実装方法(管理画面向け)

CodeIgniter4で管理画面向けの簡易版ログインシステムを作成したい。通常 ...

PHPにて西暦から干支(十二支)を計算し表示する方法

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表 ...

PHPMailerを使ってメールをSMTP送信する方法(Composer無し)

PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...

formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法

だいぶ前にGoogle reCAPTCHA v2をformに組み込むという記事を ...