代码工作正常,但我得到以下错误:
注意:未初始化的字符串偏移量:第8行/Applications/XAMPP/xamppfiles/htdocs/kwame.php中的3
有人可以解释为什么会这样。谢谢。
<?
$string ='Lt4';
$getl = strlen($string);
for($i=0; $i<=$getl; $i++){
echo $string[$i];
}
?>
答案 0 :(得分:3)
因为字符串没有那么多索引!索引从0开始。只需将<=
更改为<
,例如:
<?php
$string = "Lt4";
//^^^-Index 2
//||-Index 1
//|-Index 0
$getl = strlen($string); //Length: 3
for($i = 0; $i < $getl; $i++) { //i -> 0, 1, 2
echo $string[$i]; //L, t, 4
}
?>
迭代概述:
Variables Condition Output
| $i | $getl | $i < $getl = ? | $string[$i]
-----------------------------------------------------------------------------
Start: | 0 | 3 |
Iteration 1: | 0 | 3 | 0 < 3 = TRUE | L (Index 0)
Iteration 2: | 1 | 3 | 1 < 3 = TRUE | t (Index 1)
Iteration 3: | 2 | 3 | 2 < 3 = TRUE | 4 (Index 2)
Iteration 4: | 3 | 3 | 3 < 3 = FALSE | [OFFSET]
| | | |
End | 3 | 3 | |
| | | |
输出:
Lt4
答案 1 :(得分:1)
<?php
$string ='Lt4';
$getl = strlen($string);
for($i=0; $i<$getl; $i++){
echo $string[$i];
}
?>
索引总是从0开始