Эта проблема связана с переменной scope .Функции PHP имеют свою собственную таблицу символов, и когда вы присваиваете переменную $team_image
в своей функции, вы действительно назначаете локальную переменную.Эта переменная выходит из области видимости в конце функции, что означает, что она больше не существует.
Лучший способ исправить это, вероятно, будет вернуть значение изфункцию и присвойте переменной $team_image
, используя вызов функции.
function teamImage($team)
{
switch($team)
{
case "Baltimore Orioles":
return "orioles";
case "New York Yankees":
return "yankees";
case "Toronto Blue Jays":
return "bluejays";
}
}
$team_image = teamImage($team);
Теперь переменная $team_image
находится в области, в которой вы вызываете функцию.
Если вы хотитепеременную, которая будет видна во всех областях, вместо этого вы можете использовать $GLOBALS['team_image']
, но глобальные переменные часто считаются плохой практикой.(Вы можете найти много источников в Интернете, которые объяснят почему.)