4

PHP编码标准说:

... PHP 拥有每个字符串的长度属性,它不应该用 strlen() 来计算。以这样一种方式编写你的函数,以便它们能够利用长度属性,既是为了提高效率,也是为了使它们是二进制安全的。...

如何访问此长度属性?还是我误解了?

4

3 回答 3

5

正如伊格纳西奥在另一篇文章中提到的那样:

他们在谈论 C 函数,而不是 PHP 函数。C 函数将在第一个 \0 之后停止计数,但 PHP 字符串可以在结尾以外的其他位置包含 \0。

该文档很可能是关于如何扩展 PHP 的引擎,而不是使用 PHP 本身进行编程。

于 2012-05-14T14:02:00.803 回答
3

这些编码标准并非针对使用 PHP 的网站开发人员,而是针对 PHP 引擎本身的开发人员。

PHP 是使用 C 语言开发的,strlen要避免的功能是 C 语言,而不是 PHP 语言。

于 2012-05-14T14:01:59.817 回答
0

从某种意义上说,它不是其他语言(如 C#)中的“属性”。

你不能这样做: myString.Length;

相反,您需要这样做: strlen(myString);

于 2012-05-14T14:01:20.843 回答