php5.6我判断变量是这样
if(empty($this->fields->d)){}
if(isset($this->fields->d)){}
PHP
而php7测试这样怎么判断都是Flase,后来通过查资料发现php7在这个判断上做了些变化。
php7判断的时候会依次判断,php5.6则是预加载后判断!
也就是说php5.6判断是先执行$this->fields->d然后在对结果进行判断。
而php7则是把$this->fields->d当做一个变量进行判断,而没有执行它。
知道原理后就可以很好的写出兼容的判断代码了。
将$this->fields->d赋值于一个变量,然后对这个变量进行判断就可以了!。
$d=$this->fields->d;
if(empty($d)){}
if(isset($d)){}
PHP
参考
https://learnku.com/laravel/t/3021/isset-is-not-right-after-upgrading-php7
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询