今天又get到了一个新技能-trim(null)==‘’

来源:互联网 发布:域名备案还是网站备案 编辑:程序博客网 时间:2024/06/06 12:34

php 中trim(null)的值是空(即”)

在开发中遇到一个特殊情况:
在使用ajax请求时,php程序中并没有获取到get或post的参数,前端也没有传递这些参数,因此我在程序中判断这些参数存不存在是用的$param !== null 来判断的。

然而,每次请求,这个判断都和预期的不一致,在没有传递参数的情况下,这个表达式的值总是为false ,因此很郁闷,开始了自己的bug之旅。

经过十几二十分钟的排查,对比刚获取的值及判断该值前的结果,发现刚获取时值内容确实为null ,而在判断前该值却变成空了。于是进行深一步的排查,又发现,该值在trim()后内容才改变的。所以结果为,trim(null)的值为空,而不是null,因此判断trim(null)的值不等于null是错误的。

原创粉丝点击