我一直在寻找这个,但我找到的解决方案都不匹配我正在寻找的。
假设我有一组名称:
$names = array('zack', 'tom', 'brad', 'tim');
我想将这些名称随机化,但没有一个可以与开始时的位置相同。
shuffle() 函数似乎没有这样做。
我尝试了以下方法,这可能不是最好的方法,但由于某种原因这不起作用?:
$names = array('zack', 'tom', 'brad', 'tim');
$names2 = array('zack', 'tom', 'brad', 'tim');
do {
shuffle($names2);
} while($names === $names2);
我还需要将原始数组保持在原始顺序中,因此对数组进行洗牌然后按一个移动不是一种选择。
我如何实现在其原始位置没有剩余价值的洗牌?