Тайный санта PHP

235
18 октября 2017, 07:35

Здравствуйте. Есть задание сделать "Тайного санту". Опуская задание чтения из файла => отправка имейлов и т.д. у нас есть строка вида:

$str = "test1@gmail.com name1 surname1 patronymic1\n
test2@gmail.com name2 surname2 patronymic2\n
test3@gmail.com name3 surname3 patronymic3\n
test4@gmail.com name4 surname4 patronymic4" 

Преобразуем ее в массив с помощью:

 foreach (explode("\n", $str) as $pair) {
            list($key, $value, $surname, $patronymic) = explode(' ', $pair);
            $final[] = ['email'=>$key, 'value'=>$value.' '.$surname.' '.$patronymic];
    }

И с этого массива( можно сделать его не ассоциативным ) нам нужно найти каждому человеку пару для Тайного санты. Может кто посоветует как можно сделать? Или имеет решение для этого?

Моя идея была: с помощью shuffle перемешать значение и сделать так что бы: Первый дарил второму, второй третьем, последний - первому.

При (n>1) возможность дарить самому себе исключена.

Может кто поделиться кодом или идеей?

READ ALSO
Помогите с регуляркой в PHP

Помогите с регуляркой в PHP

В корне сайта есть каталог/temp/с лог файлами по заявкам

149
Нужно очистить файл txt каждые 10 часов [дубликат]

Нужно очистить файл txt каждые 10 часов [дубликат]

Данный вопрос уже был задан и имеет решение:

159
php7 и вывод данных помогите разобраться

php7 и вывод данных помогите разобраться

Добрый день! Делаю некотрые переделки в сайте и не могу разобраться с выводом и работой такого дела как:

163
Как получить пароль с запроса mysql?

Как получить пароль с запроса mysql?

Пытаюсь сделать проверку авторизации пользователяДелаю проверка по нику, а потом нужно как то получить пароль и сравнить

167