在PHP中循环时缺少最后一个字符串字符

时间:2014-07-12 09:47:51

标签: php string loops

从一个字符串逐个回显所有元素似乎非常容易。当这段代码显示字符串的最后一个字符时,我感到很惊讶:

function FirstReverse($str) {
    $arr='';
    $len=strlen($str);

    $i=0;
    while($i<$len+1)
    {
        echo $str[$i];
        echo "<hr />";
        $i++;
    }
}

1 个答案:

答案 0 :(得分:2)

<强>尝试:

function FirstReverse($str){
    for($i=0;$i<strlen($str);$i++){
        echo $str[$i].'<hr/>';
    }
}

<强>为什么:

for($i=0;$i<strlen($str);$i++)

$i变量已公布,等于0

For循环一直持续到$i<strlen($str)(这是有效的,因为$i0开始,而不是1。)

在For函数结束时,$i每次增加一个。

 echo $str[$i].'<hr/>';

这比两个不同的echo命令短 - .加入两个PHP字符串。