奇怪的PHP substr()问题

use*_*364 0 php substr

我有一种感觉,这是我的一个愚蠢/愚蠢的错误,但我需要一套新的眼睛......我正在尝试使用substr循环一个字符串,但我没有得到预期的结果.

例如,echo substr("950122", 2, 2);输出01到屏幕而不是5.并且使用索引3给出122而不是0.

我如何正确地循环字符串?
http://ideone.com/YKz7g3

<?php
$str = "950122";
for( $i = 1; $i <= strlen( $str ); $i++ ) {
    echo substr( $str, $i, $i ) . "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)

Abr*_*ver 6

起始位置0从不开始1.所以,让5你使用1,1并获得0使用2,1.

0,1会给你第一个角色9.

此外,第三个参数substr()是长度,所以如果你使用1你从中得到1个字符start2从一开始给你2个字符.

0,6会给950122.