我有这一行
$newLang[$key] = (key_exists($key2, $_LANG)) ?
lang::utf8decode($_LANG[$key2], 'UTF-8') : '';
如果出现在多个位置,似乎每个位置都会产生错误。你知道为什么会发生这种情况以及如何解决它吗?
的例子:
foreach($matches[1] as $key)
{
$key2 = $template.'_'.md5($key);
$newLang[$key] = (key_exists($key2, $_LANG)) ? lang::utf8decode($_LANG[$key2], 'UTF-8') : '';
}
$files[$template] = $newLang;
$count += sizeof($newLang);
这个错误解释了你的问题。如果静态地调用非静态方法lang::utf8decode(),则不能这样做。所以在你的类中通过添加静态前缀来改变它:
public static function utf8decode(){}
或者不要静态地调用它,但是:
$lang=new lang();
$lang->utf8decode();