不使用函数检测字符串结尾

2024-05-01

如何找出 PHP 字符串的结尾?我有一项任务:无需任何函数即可识别字符串长度。我知道 PHP 中的所有字符串都以空字节结尾(\0),但我不知道最后一个符号之后的字符串元素。

例如,这将不起作用:

while($a[++$length]);

如何在不使用任何函数的情况下知道字符串的长度?


在 PHP 中,字符串do not以空字节结束。例如,$s = 'a';echo $s[1];产生警告(这就是为什么你不应该用$a[$length] == "")。另外,php 字符串可以包含空字节——它们实际上是字节数组。

但是,您可以使用语言构造isset http://php.net/isset测试是否读取值$a[$length]会产生警告:

$a = "a\0b\0c";
for ($length = 0;isset($a[$length]);$length++) ;
echo $length; // 5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不使用函数检测字符串结尾 的相关文章

随机推荐