这是一个非常奇怪的情况,就像我一生中从未见过的那样。 由于某种原因,PHP忽略了静态函数中的许多代码。
这里是示例:
static function describe($tableName, $columns = '*') {
var_dump($tableName);
die();
$md5 = ...code...
if (!empty($content = Cache::get($md5))) {
return unserialize($content);
}
我不断收到错误
Parse error: syntax error, unexpected '=', expecting ')'
在
if (!empty($content = Cache::get($md5))) {
是的,它可以识别类Cache
及其功能。
有人可以引导我吗?
答案 0 :(得分:6)
在PHP 5.5之前,empty()
函数仅支持字符串。
向其提供的其他任何输入例如:函数调用,例如
if (empty(myfunction()) {
// ...
}
结果解析错误。
注意:在PHP 5.5之前,empty()仅支持变量。还要别的吗 将导致解析错误。换句话说,以下内容不会 工作:空(修剪($名称))。而是使用trim($ name)== false。
更好的方法是,首先获取您的$content
变量,然后检查它是否不为空。
与其初始化并同时检查其空性。
您可以将if
语句分为两个部分:
if ($content = Cache::get($md5) && !empty($content)) {
return unserialize($content);
}
答案 1 :(得分:3)
尝试一下
if (!empty($content) && $content = Cache::get($md5)) {
return unserialize($content);
}
OR:为了易于阅读
if (!empty($content){
if($content = Cache::get($md5)){
return unserialize($content);
}
}