怪事,静态变量不能赋值!
程序如下:
class dbmanage {
public static $siteinfo; //站点信息
/**
* 默认执行
*/
function __construct() {
$domainkey = strtolower($_server['server_name']);
$domainkey = str_ireplace(www., , $domainkey);
self::$siteinfo = dbmanage::getsiteinfo($domainkey);
}
public static function getsiteinfo($domain) {
self::$siteinfo = $_cookie[site]; if (empty(self::$siteinfo) || self::$siteinfo[domain] != $domain) {
$sql = select * from site_config where domain='{$domain}';
self::$siteinfo = self::queryarray($sql);
self::setcookie(self::$siteinfo, site);
}
return self::$siteinfo;
}
}
问题出在红字那一行。明明$_cookie[site]中有数据,可是self::$siteinfo中始终为空。请哪位高手帮我看看是什么原因?
------解决方案--------------------
你如何知道 self::$siteinfo中始终为空 ???
------解决方案--------------------
self::$siteinfo = $_cookie[site]; if (empty(self::$siteinfo) || self::$siteinfo[domain] != $domain) {
你一会儿用$_cookie[site]来赋值,一会儿又要使用$siteinfo[domain]
试问,$_cookie[site]或$siteinfo是数组么?domain这个哪里来?
------解决方案--------------------
self::$siteinfo = $_cookie[site];//这个值是数组?
if (empty(self::$siteinfo) || self::$siteinfo[domain] != $domain)//你在条件内输出个值看下有没有执行不就知道了?