[英]Random Assoc Array Value in PHP
我有一个来自一个的关联数组
mysqli_fetch_assoc()
功能。 我会从它的随机键中获取一个值...
基本上,我只需要从数据库中随机选择一个ICAO。
所以我发现了这个功能
function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = array();
foreach ($keys as $key) {
$random[$key] = $list[$key];
}
return $random;
}
我试着编码:
$sql = "SELECT icao FROM airport_list";
$result = mysqli_query($conn, $sql);
while ($airports = mysqli_fetch_assoc($result)){
$random_airport = shuffle_assoc($airports);
}
var_dump($random_airport);
“var-dumped”结果是
array(1) { ["icao"]=> string(4) "ZYTX" }
这似乎是一个在重新加载页面时永远不会改变的数组,所以......我认为这是错误的。
您可以通过修改查询从表中提取随机行来简化整个过程,如下所示:
SELECT icao FROM airport_list ORDER BY RAND() LIMIT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.