目次

目的

  • 配列の値をランダムに並べ替えたい。
  • 元の配列自体が並べ変わっても良い。
  • PHP の shuffle 関数を使用する。

テストしてみました。

PHP の shuffle 関数。
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

同じカテゴリの投稿(PHP)

前後の投稿