我有这个数组 -
$array = array(
0 => "a",
1 => "b",
2 => "c"
);
我希望从这个阵列中获得一个新阵列:
$new_randomized_array = array(
0 => "c",
1 => "a",
2 => "b"
);
使用shuffle($array)
将更改我不想要的原始数组。
我可以使用:
$rand_keys = array_rand($array, 3);
foreach($rand_keys as $k => $v) {
$new_randomized_array[] = $array[$v];
}
但这不是多余的吗? 我猜php已经有类似的功能,但我找不到它。
答案 0 :(得分:0)
在PHP中,数组是值类型。因此,首先分配新数组,然后随机播放新数组。或者您可以通过函数调用(也是按值)来完成。
function shuffled_array($a) {
shuffle($a);
return $a;
}
$a = array(1, 2, 3);
$b = shuffled_array($a);
print_r($a);
print_r($b);