当您将 NULL 赋予需要字符串的 PHP 函数时会发生什么


What happens when you give NULL to a PHP function that expects string?

例如:preg_match还是何时使用串联?

对评论的答复:

我可以测试preg_match或串联结果,是的。

但两者之间有区别:

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

  • PHP 是否会在 f 函数获取之前将 NULL 转换为空字符串,或者
  • 即使签名需要字符串,f函数也会获得 NULL,因此该函数可能会引发异常或行为不像收到空字符串那样。

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

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