PHPのshuffle()
関数は、配列をシャッフルし、配列要素を、ランダムに並べ替える組み込み関数。
並べ替える前のキーは保持しない。並べ替えると、新たな数値キーを割り当てる。
定義
論理型 shuffle( 配列型 &$array );
パラメータ
- 配列型 &$array
シャッフルする対象の配列を指定。
戻り値
論理値。
シャッフルに成功すると「TRUE」、失敗すると「FALSE」を返す。
構文
配列要素を、ランダムに並べ替え
論理値 = shuffle( 配列 );
「配列」の要素を、ランダムに並べ替える。
サンプル
配列の要素を、ランダムに並べ替え
<pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 青
[1] => 白
[2] => 緑
[3] => 黒
[4] => 赤
)
(
[0] => 青
[1] => 白
[2] => 緑
[3] => 黒
[4] => 赤
)
新たな数値キーを割り当てている点に注目。
連想配列の要素を、ランダムに並べ替え
<pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 赤
[1] => 黒
[2] => 緑
[3] => 青
[4] => 白
)
(
[0] => 赤
[1] => 黒
[2] => 緑
[3] => 青
[4] => 白
)
新たな数値キーを割り当てている点に注目。
多次元配列の要素を、ランダムに並べ替え
<pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
shuffle( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[1] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[2] => Array
(
[0] => Red
[1] => Blue
[2] => Green
)
[3] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
)
(
[0] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[1] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[2] => Array
(
[0] => Red
[1] => Blue
[2] => Green
)
[3] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
)