【发布时间】:2013-02-08 15:12:34
【问题描述】:
我已经为此苦苦挣扎了一两个星期,但我似乎无法解决它。这是我的脚本:
<?php
$Domain = $_SERVER['SERVER_NAME'];
$paryDomain = explode(".",$Domain);
$Array = count($paryDomain);
$RootDomain = "";
$G_SYSTEMID = "";
if ($Array == "1")
{
$RootDomain = $paryDomain[0].'.'.$paryDomain[1];
}
elseif ($Array == "2")
{
$RootDomain = $paryDomain[1].'.'.$paryDomain[2];
}
if ($RootDomain == "storeboard.com")
{
$G_SYSTEMID = 1;
}
elseif ($RootDomain == "dcwn.org")
{
$G_SYSTEMID = 2;
}
echo $G_SYSTEMID;
echo "------------";
?>
为什么最后 1 或 2.. 都没有结果?
任何帮助将不胜感激。
Neojakey
【问题讨论】:
-
我会说明显的原因是 $RootDomain 也不是您比较的字符串...也许您可以回显它并查看实际值是什么...?
-
开始在整个逻辑的不同点回显变量,看看它们从哪里开始不是你所期望的。
-
“我做错了什么”
-
也许你应该检查为 INTEGER 而不是 STRING...
$Array == "1"是字符串,因为$Array == 1是 INTEGER。如果你count($var);你会得到 INTEGER 的结果。 -
使用 var_dump($paryDomain) 查看您的爆炸操作的内容,这可能会有所帮助。其他的,试试用strcmp比较字符串php.net/manual/en/function.strcmp.php
标签: php explode server-variables