为什么需要“-1〃;在我的For循环php中


Why need "-1" in my For loops php

您好,请先检查我的脚本。

    for($x = 0;$x<=count($outlet);$x++)
        {
        echo $x."  insert into arealeader 
                (
            [Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) 
              values ('$generatecode[$x]','$outlet[$x]','$leader[$x]','$chief[$x]','$regionalmanager[$x]','$periode','1','$nip_login','$DateNow->time'
             )<br>";
        }

我的问题是,当我只从表格中插入两个出口时,结果会显示3行。但当我做这个for($x = 0;$x<=count($outlet)-1;$x++) 时,它会很好地工作

结果

0 insert into arealeader ( [Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ( 'K','CF-LBS','','4141413','9191','','1','1602762','2016-04-29 10:09:56.640' )
1 insert into arealeader ( [Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ( 'L','K-ATR2','','4141413','9191','','1','1602762','2016-04-29 10:09:56.640' )
2 insert into arealeader ( [Kodearealeader],[OutletCode],[NipLeader],[NipChief],[NipRM],[CutOff],[flag],[CreatedBy],[CreatedDate]) values ( '0','','','','','','1','1602762','2016-04-29 10:09:56.640' )

echo count($outlet)结果为2

您正在将x初始化为0。然后在x处于该状态的情况下执行echo一次。CCD_ 7然后递增到1。1仍然小于或等于2,因此echo再次运行。x再次递增到2,仍然小于或等于2,因此echo执行第三次。您可能想要做的是将$x<=count($outlet)替换为$x<count($outlet),因为您真正想要的是"小于",而不是"小于或等于",以便为零索引数组中的每个索引运行一次循环。