【问题标题】:php Undefined Offset in simple function()简单函数()中的php未定义偏移量
【发布时间】:2025-11-22 19:15:02
【问题描述】:

我不确定为什么我会收到关于此问题的未定义偏移通知

<?php 

$numbers = array('1','2','3');
$total = 0;

for($i=0;$i<=sizeof($numbers); $i++) {
    $total += $numbers[$i];
    echo $total;
}

?>

输出:

136 注意:未定义的偏移量:E:\php\arrays\array_1.php 中 第 17 行 中的 3 6

【问题讨论】:

    标签: php arrays for-loop sizeof


    【解决方案1】:

    您的数组在索引 0、1 和 2 处包含三个元素。没有索引为 3 的元素。

    你的循环应该在它到达之前停止......

    for($i=0;$i<sizeof($numbers); $i++) {
    }
    

    另外,请查看array_sum,这可能就是您想要的...

    $total=array_sum($numbers);
    

    【讨论】:

      【解决方案2】:

      您应该循环到数组大小的&lt;,而不是&lt;=

      for($i=0;$i<sizeof($numbers); $i++) {
      

      【讨论】:

        【解决方案3】:

        将您的条件从&lt;= 更改为&lt;

        这将正确添加:

        $total += intval($numbers[$i]);
        

        【讨论】:

          【解决方案4】:

          关闭 html 错误

          error_reporting(E_ALL);
          ini_set('display_errors', 'On');
          ini_set('html_errors', 'Off'); 
          

          【讨论】:

            最近更新 更多