2011/11/14

配列をランダムに扱うとき

PHP 




配列からランダムに値を取りたいとき使う関数。

  • array_rand
  • shuffle

微妙に違うので、注意。


array_rand は、 キーを返す

shuffle は、 配列全体をシャッフルする


$fruits = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'caviar',
);
var_dump($fruits);
var_dump(array_rand($fruits));
var_dump(array_rand($fruits, 2));

shuffle($fruits);
var_dump($fruits);

実行結果


array(3) {
    ["a"]=>
    string(5) "apple"
    ["b"]=>
    string(6) "banana"
    ["c"]=>
    string(6) "caviar"
  }

  string(1) "b"

  array(2) {
    [0]=>
    string(1) "b"
    [1]=>
    string(1) "c"
  }

  array(3) {
    [0]=>
    string(6) "caviar"
    [1]=>
    string(5) "apple"
    [2]=>
    string(6) "banana"
}


このエントリーをはてなブックマークに追加