PHP function wont save variables
I have a function that looks like this:
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];
}
When I try to use the $team_date, $team_away, and $team_home variables as follows, the only one that seems to work is the $team_home variable.
$game = filter_input(INPUT_GET, 'game', FILTER_SANITIZE_STRING);
$team_home[$game] = findSchedule($team);
$team_away[$game] = findSchedule($team);
$team_date[$game] = findSchedule($team);
Any ideas?
Thanks,
Lance
It has to do with how you constructed your final for
loop. You have it set to return
each value; the return
statement ends processing. You want to echo
each one and then return, or alternatively never explicitly state return
but just end the function.
To return all arguments, you could just make a single, larger array and return that:
return array( $team_home, $team_away, $team_date);
On the returning side you write an array:
return array($team_home, $team_away, $team_date);
And on the receiving side you can use list()
:
list($team_home, $team_away, $team_date) = findSchedule($team);
精彩评论