我一直在查看stackoverflow,我发现没有回答我的问题,关于如何在不获取关联数组的情况下对列表进行混洗。由于我的代码使用shuffle_assoc
,我得到了关联数组,但使用shuffle并没有让我到任何地方,所以现在我转到这里。
function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = array();
foreach ($keys as $key) {
$random[] = $list[$key];
}
return $random;
}
$arr = array();
$arr[] = "test 1<br>";
$arr[] = "test 2 <br>";
$arr[] = "test 3 <br>";
$arr[] = "test 4 <br>";
print_r(shuffle_assoc($arr));
?>
This is how it looks when I run the code
但是我不想显示Array ([0] =>
部分,我只想在每次运行代码时随机调整测试(1/2/3/4)列表。
答案 0 :(得分:3)
print_r
函数显示数据。所以当你给它数组时它打印数组。您需要将数组内爆为字符串:
echo implode('',shuffle_assoc($arr));
编辑:
或者只是
echo implode('',shuffle($arr));
答案 1 :(得分:0)
试试这个:
$array = shuffle($arr);
foreach($array as $a)
{
echo $a;
}