php7的isset方法.jpg

给typecho添加自定义变量时参考typecho官网文档自定义字段使用,添加如下代码,结果代码始终跑到else里。

if(isset($this->fields->fieldName)){
  echo '字段存在,值为:'.$this->fields->fieldName;
}else{
  echo '字段不存在';
}

原来php5.6版本判断是先执行$this->fields->fieldName然后再对结果进行判断,而php7则将$this->fields->fieldName整体作为一个变量进行判断。

改后的代码

$field = $this->fields->fieldName
if(isset($field)){
  echo '字段存在,值为:'.$field;
}else{
  echo '字段不存在';
}

参考升级 PHP7 后 isset 不太对了