PHP 未定义的变量:数组

PHP Undefined variable: array

我需要检查所选城市 ( $_GET['city'] ) 是否在 $cities 数组中。现在我收到错误 "Undefined variable: cities" 和 "Invalid argument supplied for foreach()"。如果我用 is_array 检查 $cities,它 returns 为真。我该如何修复我的代码?

$cities = array ("London" => "name/name2/name3", 
"Paris" => "name/name3/name4", 
"Moscow" => "name/name5/name6", 
"Paraguay" => "name/name4/name5");



function CityIsCorrect() {                                                                  //IN WORK
        if (empty($_GET['city'])) {return false;}
        foreach ($cities as $citycheck){
            if(($_GET['city'])==$citycheck) {return true;}
            else {return false;}
        }
}

要直接回答您的问题 – 将此行添加到您的函数中:

global $cities

默认情况下,function 中的所有变量都是 "local." 如果你想引用一个全局函数 (在任何函数块之外声明的变量),必须使用global.