我有一个名字列表:
$array = array(
"Alberto",
"Bianca",
"Claudio",
"Douglas",
"Erica"
);
我想随机排序这个列表以生成这样的array_map:
$array = array(
"Alberto" => "Claudio",
"Bianca" => "Erica",
"Claudio" => "Douglas",
"Douglas" => "Bianca",
"Erica" => "Alberto"
);
有2个限制:
名称不能分配给自身,例如
"Claudio" => "Claudio"
。排序不能有不同的结果。换句话说,如果它在第一次运行时生成结果,那么在所有其他时间运行时,它必须生成相同的结果。
我正在考虑使用某种类型的哈希检查,但这并不能保证会为自己分配一个名称。
我试着用
rsort($array);
但是如果数组中的元素数量是奇数,这将不起作用,在我的示例中,我将在行中遇到问题
"Claudio" => "Claudio"
有什么方法可以对这个不违反 2 个限制的名称列表进行排序?