以下代码:
<?php
$word = 'SEKISUI';
// echo substr($word,0,-6)."<br>";
$length = (strlen($word)+1)-14;
$urut = 0;
for($i=$length;$i<1;$i++){
echo substr($word,$urut,$i).'<br>';
// echo $urut."-".$i."-".'<br>'; // Check Value
$urut++;
}
?>
结果:
S
E
K
I
S
U
为什么字母“i”没有出现?
我的代码有什么问题?
结果应如下所示:
S
E
K
I
S
U
I
感谢您的关注......
答案 0 :(得分:1)
我不知道你是否需要使用'for循环',但有一种更好的方法将字符串拆分成单个字符。
一旦你有阵列就可以对它进行任何操作,也可以用“\&lt; br&gt;”连接()数组中的项目。分离器。
尝试以下方法:
$word = 'SEKISUI';
$result = str_split($word);
$altogether = join("<br>",$result);
答案 1 :(得分:0)
不确定为什么你喜欢减去长度而不是尽可能多地处理正数。
在substr(string,start,length)
的语法中,
可选。指定返回字符串的长度。默认是 字符串的结尾。正数 - 要返回的长度 from start参数负数 - 要返回的长度 从字符串的末尾
所以基本上你的结尾字符指针是nevel count。
如果您运行echo substr($word,0,-1)."<br>";
,则不会获得结束字符,因为它是否为负substr
的起点。
但是,将substr
长度更改为1
会产生有效的字符串not null
或empty string
$word = 'SEKISUI';
// echo substr($word,0,-6)."<br>";
$length = (strlen($word)+1)-14;
$urut = 0;
for($i=$length;$i<1;$i++){
echo substr($word,$urut,1).'<br>';
// echo $urut."-".$i."-".'<br>'; // Check Value
$urut++;
}
但是,我更喜欢这种方法,因为这更简单。
$word = 'SEKISUI';
//echo substr($word,1,1)."<br>";
$length = strlen($word);
$urut = 0;
for($i = $urut; $i <= $length; $i++){
echo substr($word,$i,1).'<br>';
}