PHP函数错误:注意:未定义的偏移量


PHP function Error : Notice: Undefined offset

我有一个简单的函数,但收到错误消息:注意:未定义的偏移量:中的3

我检查了问题所在的行:$newValue+=$value[$i];

以下功能的答案是"6",但仍显示错误消息。

<?php
function countMe($value) {
    $newValue = 0;
    for ($i=0; $i<=count($value); $i++) 
    {
        $newValue += $value[$i];
    }   
    return $newValue;
}   
$value[0] = 1;
$value[1] = 2;
$value[2] = 3;
echo countMe($value);
?>

我知道解决方案只是用@countMe($value)等@运算符来抑制错误,但我想知道这个函数出了什么问题??如有任何帮助,我们将不胜感激。感谢

索引从0到2…函数应计数为count() - 1:

 for ($i=0; $i<=count($value)-1; $i++)

 for ($i=0; $i<count($value); $i++) 

顺便说一下。。。只需使用array_sum($value)即可获得相同的结果:)

请查看count的值($value)为3。

当你提到<=在循环中,它试图访问$value[3],但没有这样的索引可用。

您可以简单地将其更改为<。

另一种方法是使用foreach。这提供了更多的灵活性。

 for ($i = 0; $i< count($value); $i++) 

foreach ($value as $v) {
   $newValue += $v;
}

希望这能有所帮助。