Сортировка списка имен случайным образом для создания второго списка (карты) на основе 2 ограничений - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть список имен

$array = array("Alberto",  
              "Bianca",  
              "Claudio",  
              "Douglas",
              "Erica"
              );

Я хотел бы отсортировать этот список случайным образом, чтобы сгенерировать массив array_map, подобный этому

$array = array("Alberto" => "Claudio",  
          "Bianca" => "Erica",  
          "Claudio" => "Douglas",  
          "Douglas"  => "Bianca",
          "Erica" => "Alberto"
          );

Есть 2 ограничения, первое: a имя не может быть присвоено самому себе, например «Claudio» => «Claudio»

второе ограничение: сортировка не должна иметь других результатов, например, если она генерирует результат в первый раз, все в других случаях он запускает тот же результат

Я думаю использовать проверку типа ha sh, но это не гарантирует, что ему будет присвоено имя

I попробуйте использовать

rsort($array);

Но это не сработает, если количество элементов в массиве нечетное, в моем примере у меня будут проблемы в строке

"Claudio" => "Claudio"

Есть ли любой способ сортировки этого списка имен, который не нарушит 2 ограничения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...