gpt4 book ai didi

PHP函数传递参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:16 24 4
gpt4 key购买 nike

现在我正在处理 PHP,但我遇到了一个奇怪的问题:我正在为字符串长度制作一个简单的 foo:

function slen($str) {
$len;
for ( $len=0; $str[$len]; $len++ ) {
/* while tehre is a symbol in $str continue counting, old C metnod */
}
return (int)$len;
}

它以代码的形式运行,并输出长度,但它突然显示一条 PHP 警告消息:PHP 通知:未初始化的字符串偏移量:3 in/home/ilian/Desktop/SERVER/ex4.php on line 5在我的第 5 行是 for 循环初始化。所以我知道 PHP 可能会因为不知道它在该数组中检查哪种变量为真而感到困惑,因为它可以是“Array”、“HELLO”、“MESS”、50 和长度为 4,这是正确的,但在这种情况下,我要检查一个简单的字符串的长度。有什么通俗易懂的解释吗?

最佳答案

问题是在某些时候您的条件 ($str[$len]) 将尝试访问超出字符串末尾的偏移量。那是您的停止条件,但该停止条件会引发通知,因为访问 undefined offset 被视为错误(这是正确的)。您需要使用 isset($str[$len])检查偏移量是否存在,这不会引发通知。

关于PHP函数传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044458/

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