我正在尝试制作一个简单的多语言,基于两个按钮,并通过检测完整的url路径获得当前的语言…我的代码下面的问题是,它不返回字符串后的"="等于符号
当它在url中显示此http://www.example.com/site/?lang=en时,我得到"数组"
<?php
$string = $_SERVER['REQUEST_URI'];
$string_parts = explode("=", $string);
if ($string_parts == "en"){
echo "English";
}
if ($string_parts == "De"){
echo "German";
}
?>
您可以使用$_GET
系统数组。
<?php
$curLang = 'en'; //define a default language code
if (isset($_GET['lang']))
{
$curLang = strtolower($_GET['lang']);
}
if ($curLang == 'de')
{
echo 'German';
}
else if ($curLang == 'fr')
{
echo 'French';
}
//... this part can be extended or converted to 'switch-case' block on demand
else
{
echo 'English';
}
?>
我觉得你把事情弄得更复杂了:$_GET
包含url中传递的所有get参数。试着
var_dump($_GET);
查看其内容或使用
foreach ($_GET as $k=>$v)
echo $k.' : '.$v
遍历其内容并显示该数组的键名($k
)和值名($v
)。