目次
目的
- 配列の値をランダムに並べ替えたい。
- 元の配列自体が並べ変わっても良い。
- PHP の shuffle 関数を使用する。
テストしてみました。
同じく PHP の array_rand 関数では、配列の値自体は並べ替えられる事は無く、配列の中のキー名をランダムに取得出来るようです。
サンプル
まずは、配列を作成して print_r 関数で出力してみます。
PHP :
$a[]="No.1";
$a[]="No.2";
$a[]="No.3";
$a[]="No.4";
$a[]="No.5";
print_r($a); //配列を見やすく出力
出力結果 :
Array
(
[0] => No.1
[1] => No.2
[2] => No.3
[3] => No.4
[4] => No.5
)
次は、 shuffle 関数を使用してみます。
PHP :
shuffle($a);
print_r($a);
出力結果 :
Array
(
[0] => No.1
[1] => No.5
[2] => No.4
[3] => No.3
[4] => No.2
)
配列の値がランダムに並べ替えられていますね。
上記の PHP を再度実行してみます。
出力結果 :
Array
(
[0] => No.3
[1] => No.2
[2] => No.5
[3] => No.4
[4] => No.1
)
1 回目の結果と違いますね。 shuffle 関数を実行する度に配列の値が変化しているようです。
配列の中から値を一つ、ランダムに取得する場合は、配列のキーを [0] に固定すれば良さそうです。
PHP :
shuffle($a);
echo($a[0]);
出力結果( 1 回目):
No.2
出力結果( 2 回目):
No.4
以上、閲覧ありがとうございました。
- [ Amazon.co.jp アソシエイト ] PHP 関係の本
- https://amzn.to/41Kpx4Q