使用array_rand
时遇到问题。
问题是我将数据库中的一些值调用到一个数组中,然后我array_rand
随机选择其中一个值(你没说)。
$query = mysqli_query($con,"SELECT * FROM random");
while ($row = mysqli_fetch_assoc($query)) {
$num[] = $row["id"];
}
如果我做print_r($num);
,我会得到以下内容:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
[10] => 11
[11] => 12
[12] => 13
[13] => 14
)
但在执行array_rand($num);
时,我随机获取的值之一是0
,如您所见,它不在列表中,因此使用此随机值的其余代码如果它出现就行不通。
我在谷歌搜索了这个问题,但找不到解决方案,如果之前已经提到过,我很抱歉。
希望你能帮我解决这个问题。
提前致谢。
答案 0 :(得分:2)
正如文档所述, array_rand() 会为随机条目返回键。
所以你必须使用$num[array_rand($num)]
来获取价值。
答案 1 :(得分:1)
在这种情况下,为什么不在查询中使用RAND()
并保存一些工作&资源?
$query = mysqli_query($con, "SELECT * FROM random ORDER BY RAND() LIMIT 1");
$result = mysqli_fetch_object($query);
答案 2 :(得分:0)