错误:Can’t use function return value in write context解决办法

这是在最近项目中遇到的一个问题,项目采用ThinkPHP5框架进行开发。一个功能写完之后测试时出现了“Can't use function return value in write context”的错误。刚开始以为是代码的问题,所以对代码进行了仔细的检查,后来翻译了一下才知道原意是:在这个情景中的函数里不能使用返回值。我去,好悲伤的一个故事啊!

下面是错误的截图:

thinkphp5错误

既然知道了意思,那么解决起来就简单多了。

解决方法一:empty()使用变量。

  1. 将下面一行
  2. empty(Cache::get($cache_key))
  3. 改为:
  4. $temp_cache = Cache::get($cache_key);
  5. empty($temp_cache)

小记:在PHP版本5.4以下类似empty()、is_array()的函数不能直接判断某功能的返回值,只能写成变量的形式。

解决方法二:升级PHP版本。

我查了下我本地PHPStudy的版本的php5.4,当版本升级到5.6的时候,该错误就没有了。目前PHP最新版本是7.2,不管是性能还是支持方面都是不错的,所以在项目开发中也建议大家采用稳定的高版本。

以上内容就是波波项目中遇到的坑和解决方法,希望对需要的朋友有所帮助。

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!