gpt4 book ai didi

php - Array_rand() for while 循环没有返回值?

转载 作者:行者123 更新时间:2023-11-28 23:33:35 24 4
gpt4 key购买 nike

我有一个 t1 mysql 表。

数据如下:

+-------+-------------+
| ID | type |
+---------------------+
| 1 | a |
| 2 | a |
| 3 | b |
| 4 | a |
+---------------------+

我想通过类型 a array_rand,比如 array_rand(1,2,4);

我尝试如下编码:

$qadfirst = DB::query("SELECT * FROM ".DB::table('t1')." WHERE type = 'a'");
while($radfirst = DB::fetch($qadfirst)){
$arr = array($radfirst['id']);
implode(",",$arr);
$random_keys=array_rand($arr,1);
echo $arr[$random_keys[0]]."<br>";
};

我使用了 w3school 的 $random_keys,但仍然无法正常工作,如何使编码工作?谢谢。

最佳答案

这一行 $arr = array($radfirst['id']);每次替换$arr的值在循环内从数据库中获取一个 ID,这将导致在循环结束时只分配一个值的数组。

$arr array(1) 
integer 4

做这样的事情

<?php
$i = 0;
while($radfirst = DB::fetch($qadfirst)){
$arr[$i++] = $radfirst['id'];
}
$random_keys = array_rand($arr, 1);
echo $arr[$random_keys]."<br>";
?>

当您循环从数据库中获取 ID 时,获取 ID 并将其分配给 $arr 类型数组,并使用 $i 或任何变量递增索引值你选择了。

在循环外,使用array_rand($arr, 1)获取随机键并分配给$random_keysrandom_keys的值> 将其用作 $arr 的索引值。 $arr[$random_keys]

关于php - Array_rand() for while 循环没有返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com