这是我一生中从未见过的非常奇怪的情况。
出于某种原因,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
及其功能。任何人都可以指导我吗?
最佳答案
在 PHP 5.5 之前,empty()
函数只能支持字符串。
提供给它的任何其他输入,例如:函数调用,例如
if (empty(myfunction()) {
// ...
}
会导致解析错误。
As per documentation:
更好的方法是先获取
$content
变量,然后检查它是否不为空。而不是同时初始化它并检查它的空性。
您可以将
if
语句分成两部分,如下所示:if ($content = Cache::get($md5) && !empty($content)) {
return unserialize($content);
}