我正在尝试为一个非常向后兼容的遗留PHP应用程序做贡献,我想确定is_string()
的行为。
例如,我想假设这些事实在所有版本的PHP中都是正确的。我只是在PHP 5.4之后才真正感兴趣,但如果有不同行为的旧版本,这并不坏。
以下是我从PHP 5.4到PHP 8.2的一些例子:
is_string(null)
→false
is_string([ "a" ])
→false
is_string("0")
→true
- x一米七氮一x → x一米八氮一x
相关文件:
- https://www.php.net/manual/en/function.is-string.php-官方文档,它似乎没有提到任何突破性的变化
- https://onlinephp.io/-一个对你测试有用的工具
- https://we.phorge.it/T15190-相关下游讨论
- https://github.com/php/php-src-PHP的源代码,其中有很多单元测试,也许你很擅长找到与
is_string()
相关的测试,但它们似乎保存在像001.phpt
这样的文件中,对我来说,从这样的文件名中找到测试并不明显
1条答案
按热度按时间5kgi1eie1#
简短回答:没问题。
您提到的函数
is_string()
的情况非常稳定,您可以在所有已知的PHP版本中依赖这些,至少从PHP 4.0.6开始。我所做的一切
我创建了这个小测试用例,它没有使用PHP的任何新功能(不使用
throw new Exception
,不使用[]
等):我测试了这些版本:
我没有注意到任何变化。
因此,您的
is_string()
测试用例可以被认为适用于任何版本的PHP。