【发布时间】:2011-11-04 18:22:36
【问题描述】:
我在 PHP 中有一个关联数组,想从中选择一个随机键/值对。到目前为止,这是我所拥有的:
初始化。
$locations = array();
循环执行 SQL 查询并添加键/值对:
array_push($locations, "'$location_id' => '$location_name'");
稍后,我选择数组的随机索引:
$rand = array_rand($locations);
兰德只是一个数字。所以 locations[$rand] 给了我类似的东西:
'1' => 'Location 1'
好的,一个 assoc 数组元素。此时,我不知道这个 assoc 数组的 key,所以我尝试了以下方法:
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)];
这 3 次尝试均无效。它们都抛出诸如“传递的变量不是数组”之类的错误。
我确信有一些简单的 1 衬垫可以从数组中提取随机键/值对。或者我的语法关闭了。非常感谢您的帮助。
【问题讨论】:
标签: php random associative-array