Php “如何仅使用”;“循环”;要删除句子中所有多余的空格,而不使用字符串修剪函数和字符串替换函数?
在PHP中,我尝试使用“循环”删除所有多余的空格。(不使用字符串修剪功能和字符串替换功能) 例如Php “如何仅使用”;“循环”;要删除句子中所有多余的空格,而不使用字符串修剪函数和字符串替换函数?,php,Php,在PHP中,我尝试使用“循环”删除所有多余的空格。(不使用字符串修剪功能和字符串替换功能) 例如 “我爱PHP”“我爱PHP”。 单词之间应该只有一个空格 有什么想法吗? 多谢各位 $newstr = " " for ($i = 0; $i < strlen($s), $i++ ) { $newstr = $newstr.substr($s, $i, 1); if (substr($s, $i, 1) == " ") while(subs
“我爱PHP”
“我爱PHP”
。
单词之间应该只有一个空格
有什么想法吗?
多谢各位
$newstr = " "
for ($i = 0; $i < strlen($s), $i++ )
{
$newstr = $newstr.substr($s, $i, 1);
if (substr($s, $i, 1) == " ")
while(substr($s, $i + 1, 1) == " ")
$i++;
}
print (" test test test ")
?>
$newstr=“”
对于($i=0;$i
您的for
语句中有语法错误,应该是
在$i++
之前
首先需要跳过输入字符串开头的所有空格
字符串末尾的任何空格都将压缩为单个空格,您需要检查并删除它
<?php
$newstr = "";
$s = " I Love PHP ";
$len = strlen($s);
// skip over initial spaces
while ($i < $len && $s[$i] == " ") {
$i++;
}
for (; $i < $len; $i++ )
{
$newstr .= $s[$i];
if ($s[$i] == " ") {
while($i < $len-1 && $s[$i+1] == " ") {
$i++;
}
}
}
if ($newstr[strlen($newstr)-1] == " ") {
// remove trailing space
$newstr = substr($newstr, 0, strlen($newstr)-1);
}
var_dump($newstr);
。不要问“想法”,描述一下你尝试过的东西有什么问题。你为什么要给这个python
?可能是@gabrielle的副本那里的所有答案都使用了他不允许使用的内置函数。仅供参考,substr($s,$i,1)
可以简化为$s[$i]
。