PHP 函数不会保存变量


PHP function wont save variables

>我有一个看起来像这样的函数:

function findSchedule($team)
{
    switch($team)
    {
        case "Baltimore Orioles":
        $team_home[42] = "Tampa Bay Rays";
        $team_home[43] = "Boston Red Sox";
        $team_home[44] = "Boston Red Sox";
        $team_home[45] = "$team";
        $team_home[46] = "$team";
        $team_home[47] = "$team";
        $team_home[48] = "$team";
        $team_away[42] = "$team";
        $team_away[43] = "$team";
        $team_away[44] = "$team";
        $team_away[45] = "New York Yankees";
        $team_away[46] = "New York Yankees";
        $team_away[47] = "Washington Nationals";
        $team_away[48] = "Washington Nationals";
        $team_date[42] = "Sun, May 15";
        $team_date[43] = "Mon, May 16";
        $team_date[44] = "Tue, May 17";
        $team_date[45] = "Wed, May 18";
        $team_date[46] = "Thu, May 19";
        $team_date[47] = "Fri, May 20";
        $team_date[48] = "Sat, May 21";
        break;
        case "Boston Red Sox":
        $team_home[42] = "$team";
        $team_home[43] = "$team";
        $team_home[44] = "$team";
        $team_home[45] = "$team";
        $team_home[46] = "$team";
        $team_home[47] = "$team";
        $team_home[48] = "$team";
        $team_away[42] = "Baltimore Orioles";
        $team_away[43] = "Baltimore Orioles";
        $team_away[44] = "Detroit Tigers";
        $team_away[45] = "Detroit Tigers";
        $team_away[46] = "Chicago Cubs";
        $team_away[47] = "Chicago Cubs";
        $team_away[48] = "Chicago Cubs";
        $team_date[42] = "Mon, May 16";
        $team_date[43] = "Tue, May 17";
        $team_date[44] = "Wed, May 18";
        $team_date[45] = "Thu, May 19";
        $team_date[46] = "Fri, May 20";
        $team_date[47] = "Sat, May 21";
        $team_date[48] = "Sun, May 22";
        break;
  }
  for($i = 42;$i < 49;++$i)
  {
    return $team_home[$i];
    return $team_away[$i];
    return $team_date[$i];
  }

当我尝试按如下方式使用 $team_date、$team_away 和 $team_home 变量时,唯一似乎有效的变量是 $team_home 变量。

$game = filter_input(INPUT_GET, 'game', FILTER_SANITIZE_STRING);
$team_home[$game] = findSchedule($team);
$team_away[$game] = findSchedule($team);
$team_date[$game] = findSchedule($team);

有什么想法吗?

谢谢

这与你如何构建最终的for循环有关。您将其设置为return每个值;return语句结束处理。您希望echo每个函数然后返回,或者从不显式声明return而只是结束函数。

要返回所有参数,您可以创建一个更大的数组并返回:

return array( $team_home, $team_away, $team_date);

在返回端你写一个数组:

return array($team_home, $team_away, $team_date);

在接收端,您可以使用list()

list($team_home, $team_away, $team_date) = findSchedule($team);