#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. Я не знал о передаче чего-либо по ссылке.