php array_push 未运行
php array_push not functioning
我有一个正在处理的脚本,可以自动构建团队池。有几个俱乐部,每个俱乐部可以有多个团队。来自同一俱乐部的一个池中的多个团队是不允许的。这是我的脚本出错的地方。它检查该团队是否与同一池中的其他团队在同一个俱乐部(16 个池,每个池 4 个团队)。
它从数组中弹出 teamid 并比较数据库中的俱乐部 ID,如果它们具有相同的俱乐部 ID,则 teamID 将被推回数组并重复直到找到不同俱乐部的球队。
不知何故(有时?)未能将团队推回阵列,我看不出我做错了什么。这是否发生过一次,我最终得到的团队少了,如果它发生了不止一次,最后(或最后 2 个)池有空值,这将导致 while 循环永远持续下去。
这是比较球队和俱乐部 ID 的代码片段。
//TeamA
//set dummyteam if needed, else choose from array
if($dummy != 0){
$teamA = "73";
--$dummy;
}
else{
$teamA = array_pop($teams);
}
$teamB = array_pop($teams);
//TeamB
//is TeamB in different club then Team A?
$ABteamisdifferent = 0;
while($ABteamisdifferent == 0){
if(GetClubID($teamA) == GetClubID($teamB)){
$teams[] = $teamB;
shuffle($teams);
$ABteamisdifferent = 0;
$teamB = array_pop($teams);
}
else{
$ABteamisdifferent = 1;
}
}
......
我已经浪费了 3 个小时来解决这个问题,但我可能忽略了一些愚蠢的事情。尽管如此,我们还是非常感谢您的帮助。
您正在将团队添加回 $team
变量而不是 $teams
。只需更改以下行:
$team[] = $teamB;
至:
$teams[] = $teamB;
我有一个正在处理的脚本,可以自动构建团队池。有几个俱乐部,每个俱乐部可以有多个团队。来自同一俱乐部的一个池中的多个团队是不允许的。这是我的脚本出错的地方。它检查该团队是否与同一池中的其他团队在同一个俱乐部(16 个池,每个池 4 个团队)。
它从数组中弹出 teamid 并比较数据库中的俱乐部 ID,如果它们具有相同的俱乐部 ID,则 teamID 将被推回数组并重复直到找到不同俱乐部的球队。
不知何故(有时?)未能将团队推回阵列,我看不出我做错了什么。这是否发生过一次,我最终得到的团队少了,如果它发生了不止一次,最后(或最后 2 个)池有空值,这将导致 while 循环永远持续下去。
这是比较球队和俱乐部 ID 的代码片段。
//TeamA
//set dummyteam if needed, else choose from array
if($dummy != 0){
$teamA = "73";
--$dummy;
}
else{
$teamA = array_pop($teams);
}
$teamB = array_pop($teams);
//TeamB
//is TeamB in different club then Team A?
$ABteamisdifferent = 0;
while($ABteamisdifferent == 0){
if(GetClubID($teamA) == GetClubID($teamB)){
$teams[] = $teamB;
shuffle($teams);
$ABteamisdifferent = 0;
$teamB = array_pop($teams);
}
else{
$ABteamisdifferent = 1;
}
}
......
我已经浪费了 3 个小时来解决这个问题,但我可能忽略了一些愚蠢的事情。尽管如此,我们还是非常感谢您的帮助。
您正在将团队添加回 $team
变量而不是 $teams
。只需更改以下行:
$team[] = $teamB;
至:
$teams[] = $teamB;