К массиву PHP обращаются дважды, и я не знаю почему

Я написал функцию, чтобы начать турнир, и люди получали электронные письма дважды, а не один раз. Поэтому я попытался отладить материал. Как вы можете видеть, я заполняю массив (часть []) информацией из своей базы данных, перетасовываю ее для случайного вражеского предмета и затем хочу послать участникам по электронной почте их оппонентов. Я вырезал всю электронную почту и просто распечатал массив. Но это печатается дважды. Что меня действительно тошнит, так это то, что один из отпечатков появляется над

echo "<hr>";

что безумие, потому что нет выхода.

function start_pre($t_id) {
global $con;
$participants=array();
$sql = "SELECT u.name, u.btag, u.email FROM participant p, user u WHERE p.tournament_id = ".$t_id." AND p.user_id = u.user_id";
$result = mysqli_query($con, $sql);
if ($result) {
while ($row = mysqli_fetch_array($result)) {
$part[] = array(
"name" => $row['name'],
"btag" => $row['btag'],
"email" => $row['email']
);
}
} else {echo "Problem.";}

shuffle($part);
echo "<hr>";

$paare = array_chunk($part, 2);
foreach ($paare as $paar) {

print_r($paar);

}

$sql = "UPDATE tournament SET enrollable='0' WHERE tournament_id='".$t_id."'";
$result = mysqli_query($con, $sql);

}

Я не могу включить скриншот фактического вывода из-за конфиденциальности и прочее, но держу пари, вы можете себе представить, как выглядят печатные массивы выше и ниже горизонтальной линии. Любая помощь приветствуется!

0

Решение

Вы должны вызывать всю функцию дважды. Кроме того, было бы лучше, если вы просто используете order by rand() в MySQL, а не shuffle,

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector