是否可以从数组中获得随机数据?
参见My Array:
<>之前数组([0] =>数组([0] =>我的数据[1] =>机场[2] [au:)[1] =>数组([0] =>活在恐惧中[1] =>科学[2] [au:)[2] =>数组([0] => State History[1] =>政府[2] => mp)[3] =>阵列([0] =>房地产[1] =>其他[2] =>属性)[4] =>数组([0] =>房地产[1] =>不确定[2] => NoData))之前我需要这种类型的随机输出…
<>之前数组([0] =>数组([0] =>我的数据[1] =>机场[2] [au:)[1] =>数组([0] =>房地产[1] =>不确定[2] => NoData)[2] =>数组([0] =>我的数据[1] =>机场[2] [au:)[3] =>阵列([0] => State History[1] =>政府[2] => mp)[4] =>数组([0] =>活在恐惧中[1] =>科学[2] [au:))尝试下面的洗牌函数。希望对你有帮助。
function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = array();
foreach ($keys as $key) {
$random[] = $list[$key];
}
return $random;
}
$arr = array();
$arr[] = array('id' => 50, 'foo' => 'hello');
$arr[] = array('id' => 17, 'foo' => 'byebye');
$arr[] = array('id' => 19, 'foo' => 'foo');
print_r(shuffle_assoc($arr));
您可以使用shuffle()
bool shuffle (array &$array)
这个函数将打乱数组中元素的顺序。它使用伪随机数生成器,不适合用于加密目的。
shuffle($array); // Shuffles your array keys randomly every time.
从多维数组中取出随机值时,shuffle()是更好的选择。
参考:http://php.net/manual/en/function.shuffle.php
shuffle()例子:
shuffle()函数将数组中元素的顺序随机化。
这个函数为数组中的元素分配新的键。现有的键将被删除
<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>
输出:Array ( [0] => red [1] => yellow [2] => green [3] => blue [4] => purple )
//The Output will keep shuffling if you refresh the browser.