Вы используете эту часть кода:
$currentplace = $place1;
testfunc();
И ваша функция testfunc()
выглядит следующим образом:
function testfunc() {
switch ($currentplace) {
// ...
Но * ваша $currentplace
переменная, объявленная вне функции, не видна изнутри функции : функции представляют свою собственную область видимости переменной.
У вас есть два возможных решения:
- либо, в начале функции, импортируйте переменную, используя ключевое слово
global
(которое не совсем хорошее решение - так как оно делает функциюзависит от внешней переменной.) - Или, лучше, передать вашу переменную в функцию в качестве параметра.
Используя первое, плохо , идея, ваша функция будет определена так:
function testfunc() {
global $currentplace; // Make the outside variable visible from inside the function
switch ($currentplace) {
// ...
Для получения дополнительной информации смотрите раздел Variable руководства.
И, используя второе, гораздо лучшее решение, это будет определеновот так:
function testfunc($currentplace) {
switch ($currentplace) {
И называется так:
testfunc($place1);
testfunc($place2);
И для получения дополнительной информации об этом посмотрите Аргументы функции раздел руководства по PHP.