Php while循环的数组\u rand()不返回值?
我有一个Php while循环的数组\u rand()不返回值?,php,mysql,arrays,Php,Mysql,Arrays,我有一个t1mysql表 数据如下: +-------+-------------+ | ID | type | +---------------------+ | 1 | a | | 2 | a | | 3 | b | | 4 | a | +---------------------+ 我想按a型array\u rand,比如array\u rand(1,2,4
t1
mysql表
数据如下:
+-------+-------------+
| ID | type |
+---------------------+
| 1 | a |
| 2 | a |
| 3 | b |
| 4 | a |
+---------------------+
我想按a型array\u rand
,比如array\u 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>";
};
$qadfirst=DB::query(“从“.DB::table('t1')”中选择*”,其中type='a');
而($radfirst=DB::fetch($qadfirst)){
$arr=数组($radfirst['id']);
内爆(“,”,$arr);
$random\u keys=array\u rand($arr,1);
echo$arr[$random_keys[0]]。“
”;
};
我使用w3school提供的$random_key
,但仍然不工作,如何使编码工作?谢谢。这一行
$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\u rand($arr,1)
获取随机键并分配给$random\u keys
,并且随机键的值将其用作$arr
的索引值$arr[$random_keys]
欢迎您的光临。我很高兴知道“我使用w3school的[…]”–[假装亚当·萨维奇的声音]嗯,这是您的问题!–你真的应该去找一个更好的教程网站。