Jef*_*eff 17 php random associative-array
我在PHP中有一个关联数组,想要从中选择一个随机键/值对.这是我到目前为止所拥有的:
初始化.
$locations = array();
Run Code Online (Sandbox Code Playgroud)
循环访问SQL查询并添加键/值对:
array_push($locations, "'$location_id' => '$location_name'");
Run Code Online (Sandbox Code Playgroud)
稍后,我选择数组的随机索引:
$rand = array_rand($locations);
Run Code Online (Sandbox Code Playgroud)
兰德只是一个数字.所以位置[$ rand]给了我类似的东西:
'1' => 'Location 1'
Run Code Online (Sandbox Code Playgroud)
好的,一个assoc数组元素.此时,我不知道这个assoc数组的关键,所以我尝试了以下几点:
foreach($locations[$rand] as $loc_id => $location_name) {
echo "$key : $value<br/>\n";
}
$loc_id, $location_name = each($locations[$rand]);
$location_name = $locations[key($rand)];
Run Code Online (Sandbox Code Playgroud)
这3次尝试都不起作用.他们都抛出错误,如"传递的变量不是一个数组".
我确信有一些简单的1衬里可以从阵列中提取随机键/值对.或者我的语法已关闭.我非常感谢你的帮助.
Arn*_*anc 29
$array = array('a' => 1, 'b' => 2);
$key = array_rand($array);
$value = $array[$key];
Run Code Online (Sandbox Code Playgroud)
array_rand()从数组返回一个键,而不是一个值.你可以使用:
$location_name = $locations[$rand];
Run Code Online (Sandbox Code Playgroud)
获取位置名称.
这是一个完整的例子:http://codepad.org/zR2YdMGN
只需点击提交几次,您就会看到随机工作.
归档时间: |
|
查看次数: |
18374 次 |
最近记录: |