добавить mysqli_query в массив из функции

#php

#php

Вопрос:

Я пытаюсь выяснить, могу ли я обновить массив из вызова функции внутри другой функции.

У меня есть функция, в которой много HTML, которую, я думаю, нужно будет повторить. Пытаюсь найти решение, чтобы не повторяться.

Моя начальная функция — это запрос к базе данных, который создает массив. Я вырываюсь из php и добавляю HTML.

Раздел с комментариями — это исходный код, из которого я пытаюсь создать функцию

 function singleElim_displayTeam_r1() {
    global $conn;

    $sql = "SELECT * FROM teams";
    $result = mysqli_query($conn, $sql);
    $arrayTeams = array();

    // if(mysqli_num_rows($result) > 0) {
    //     while($row = mysqli_fetch_assoc($result)){
    //         $arrayTeams[] = $row;
    //     }
    // }

    createArrayRoundNumber("r1", $result, $arrayTeams);

    // print_r($arrayTeams);

    $num_rows = mysqli_num_rows($result);

    if(mysqli_num_rows($result) > 0) {
        for ($x = 0; $x < $num_rows; $x  = 2) {
            $y = $x  1;
    ?>
  

вызов функции

 function createArrayRoundNumber($round, $result, $arrayTeams) {
    switch ($round) {
        case "r1":
            if(mysqli_num_rows($result) > 0) {
                while($row = mysqli_fetch_assoc($result)){
                     $arrayTeams[] = $row;
                }
            }
            break;

    }
}

  

Это не создает массив. Ищу помощь в переносе данных массива в массив $arrayTeams из исходного singleElim_displayTeam_r1()

Ответ №1:

Вам нужно передать ваши $arrayTeams по ссылке. Вам нужно добавить ‘amp;’ перед $arrayTeams в функции.

 function createArrayRoundNumber($round, $result, amp;$arrayTeams) {
  switch ($round) {
    case "r1":
      if(mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)){
          $arrayTeams[] = $row;
        }
      }
     break;
   }
}
  

Комментарии:

1. БАМ!!! сработало. Я слишком новичок в PHP. Я не знал о передаче чего-либо по ссылке.