[英]Array_key_exists() expects paramete 2 to be array, null given
我收到你在標題中看到的錯誤。 錯誤來自的頁面上的代碼如下:
<?php
if (!isset($_SESSION))
{
session_start();
}
include "./option.php";
if($start==true)
{
$ee= md5(microtime());
ini_set('session.gc_maxlifetime', 3600);
$_SESSION['new_version']=true;
if((!isset($_GET['ee']) or !isset($_SESSION['tempLang'])))
{
include "./lang/country_code.php";
function langue($l)
{
if(array_key_exists($l, $_GET["lang_con"]))
{
return $_GET["lang_con"][$l];
} else {
return "US";
}
}
$lang = substr(strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]), 0, 2);
if ($lang != ''){$con = langue($lang);}else{$con = "US";}
?>
然后假定的空數組在正確的包含文件中,代碼在這里:
$_GET["lang_con"] = array(
"it" => "IT",
"ru" => "RU",
"sv" => "SE",
"en" => "US",
"es" => "ES",
"pl" => "PL",
"fr" => "FR",
"no" => "NO",
"da" => "DK",
"de" => "DE",
"nl" => "NL",
"tr" => "TR",
"pt" => "BR",
"zh" => "TW",
"id" => "US",
"he" => "IL",
);
我真的不知道問題是什么。
請幫忙,
干杯
如果在option.php
或lang/country_code.php
包含文件中定義了“lang_con”數組,那么上面的代碼應該能夠訪問它。 雖然,您可以在使用array_key_exists()之前添加另一個檢查:
if (is_array($_GET["lang_con"]) && array_key_exists($l, $_GET["lang_con"])) {
但是你永遠不應該編寫 $ _GET超全局數組, 只能讀取它。 如果你需要在函數中注入變量,可以使用任何其他方式( 全局關鍵字 , 作為函數參數傳遞等),但永遠不要寫$ _GET,$ _POST,$ _REQUEST superglobals ,因為它們有不同的用途。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.