如果将NULL赋给需要字符串的PHP函数,会发生什么情况?

如果将NULL赋给需要字符串的PHP函数,会发生什么情况?,php,Php,例如:preg\u match或使用串联时 对评论的答复: 我可以测试preg_match或连接结果,是的 但两者之间有区别: 带有签名的PHP函数:intf(字符串$parameter) PHP会在f函数获取空字符串之前将其转换为空字符串,还是 即使签名需要字符串,f函数是否会变为NULL,因此该函数可能会抛出异常或表现出与收到空字符串不同的行为 (我无法对此进行测试,因为我无法在函数签名处为参数编写字符串类型。)这取决于您使用的函数。有些可能支持null作为参数,有些则不支持。有些人可能

例如:
preg\u match
或使用串联时

对评论的答复:

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

但两者之间有区别:

带有签名的PHP函数:
intf(字符串$parameter)

  • PHP会在
    f
    函数获取空字符串之前将其转换为空字符串,还是
  • 即使签名需要字符串,
    f
    函数是否会变为NULL,因此该函数可能会抛出异常或表现出与收到空字符串不同的行为

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

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

试试看。它只会将其转换为一个空字符串在您自己的机器上进行两秒钟的测试难道不会比在此处编写问题并等待答案快得多吗?有些问题不需要提问,但需要完成。这仍然取决于具体的功能实现。没有一般的类型转换、类型分类、通知或例外。它完全取决于userland或C实现如果你有实际的问题,不要把你的问题说得这么宽泛或抽象。谢谢你,马里奥!也许我不清楚我的问题。对不起!我只是想知道,在PHP函数得到空字符串之前,它会将NULL类型转换为空字符串。谢谢您的回答。我只是想知道在很多情况下我能期待什么——我能期待一个通知吗。