PHP正在忽略诸如var_dump()、die()等代码
这是我一生中从未见过的非常奇怪的情况。 出于某种原因,PHP忽略了静态函数中的大量代码 以下是一个例子:PHP正在忽略诸如var_dump()、die()等代码,php,Php,这是我一生中从未见过的非常奇怪的情况。 出于某种原因,PHP忽略了静态函数中的大量代码 以下是一个例子: static function describe($tableName, $columns = '*') { var_dump($tableName); die(); $md5 = ...code... if (!empty($content = Cache::get($md5))) { return unserialize($content)
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) && $content = Cache::get($md5)) {
return unserialize($content);
}
或者:为了易于阅读
if (!empty($content){
if($content = Cache::get($md5)){
return unserialize($content);
}
}
在PHP5.5之前,empty()
函数只能支持字符串
提供给它的任何其他输入,如:函数调用,例如
if (empty(myfunction()) {
// ...
}
将导致解析错误
注意:在PHP5.5之前,empty()只支持变量;别的
将导致分析错误。换言之,以下情况不会发生
工作:空(修剪($name))。相反,请使用trim($name)==false
更好的方法是,首先获取$content
变量,然后检查它是否为空
而不是同时初始化它和检查它的空性
您可以将if
语句分成如下两部分:
if ($content = Cache::get($md5) && !empty($content)) {
return unserialize($content);
}
::get
函数返回什么?为什么在函数中定义$columns
,而不是在函数上方?抱怨PHP在仍然存在解析错误的情况下“忽略”了内容,这是一种特殊的[…]
if ($content = Cache::get($md5) && !empty($content)) {
return unserialize($content);
}