gpt4 book ai didi

PHP7 的 substr() 对 null/空字符串的行为

转载 作者:搜寻专家 更新时间:2023-10-31 20:59:37 28 4
gpt4 key购买 nike

我正在阅读 substr() 的 PHP 手册,其中说明了以下有关输入字符串参数的信息:

string

The input string. Must be one character or longer.

但是在示例部分的页面下方,这是示例之一:

// ...
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
// ...

这显然与要求输入字符串为一个字符或更长 的规范相矛盾。该页面声明上面的输出将是 6) ''

来自 C/C++ 背景,我对 UB 非常小心,所以我想知道是否将 NULL"" 传递给 substr () 合法吗?

最佳答案

通常,您应该从字面上理解 PHP 手册语句,尤其是对于完善的核心语言功能。这是一个演示,物有所值。

https://3v4l.org/8RKbG .

IMO,您应该可以使用空字符串(当前的实现受到保护,我认为短期内不会发生变化)。在调用 substr() 之前清除空字符串肯定没有坏处。

然而,空值似乎会在 HHVM 下(并且仅在该处)触发警告,这很有趣。但这个事实的相关性完全取决于您。

关于PHP7 的 substr() 对 null/空字符串的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261356/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com