我试图找出是否可以从另一个函数内的函数调用中更新数组。
我有一个包含很多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;
}
}
这不会生成数组。寻找帮助,将数组数据从原始singleElim_displayTeam_r1()推送到$ arrayTeams数组
答案 0 :(得分:1)
您需要通过引用传递$ arrayTeams。您需要在函数的$ arrayTeams前面添加“&”。
function createArrayRoundNumber($round, $result, &$arrayTeams) {
switch ($round) {
case "r1":
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)){
$arrayTeams[] = $row;
}
}
break;
}
}