【发布时间】:2018-10-03 15:31:58
【问题描述】:
我有一个关联数组,它来自一个
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" }
这似乎是一个在重新加载页面时永远不会改变的数组,所以......我认为这是错误的。
【问题讨论】:
-
您是否要从表中提取随机行?
-
gyazo.com/3a7aab73448ac12e22282de2a3ad5363 就是这张桌子,我正试图从所有这些中随机获得一个“icao”。
-
你能不能不只是做一个
ORDER BY RAND() LIMIT 1并拉那个专栏?
标签: php mysql arrays random key