Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP正在忽略诸如var_dump()、die()等代码_Php - Fatal编程技术网

PHP正在忽略诸如var_dump()、die()等代码

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)

这是我一生中从未见过的非常奇怪的情况。 出于某种原因,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) && $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);
}