当你给一个需要字符串的PHP函数赋予NULL时会发生什么?

时间:2012-04-08 16:23:19

标签: php

例如:preg_match或使用串联时?

回答评论:

我可以测试preg_match或连接结果,是的。

但是:

之间存在差异

带有签名的PHP函数:int f(string $parameter)

  • f函数获取之前,PHP会将NULL转换为空字符串,或
  • 即使签名需要字符串,f函数也会变为NULL,因此该函数可能会抛出异常或表现不像收到空字符串一样。

(我无法对此进行测试,因为我无法在函数签名处为参数编写string类型。)

1 个答案:

答案 0 :(得分:3)

这取决于您使用的功能。有些可能支持null作为参数,有些则不支持。有些人可能会发出通知,但不要忘记null可以转换为“”(空字符串)