我如何从多维数组中获得随机数据


How can I get random data from a multidimensional array?

是否可以从数组中获得随机数据?

参见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.