PHP脚本不起作用。虽然条件内循环
我希望有人能帮助我在这里。我只是编码一点点而我被卡住了。小费会很棒,这解释了我的错误。PHP脚本不起作用。虽然条件内循环
这个任务比我现在正在做的更复杂。目前,我希望for循环检查字符串的每个子字符串。循环内部是一段时间的条件,它应该保持回显子字符串,直到子字符串是一个空格。然后它应该停止回应。
我不明白为什么它不起作用。我的服务器上有TimeOut。
<?php
// Task
// Find-and-Replace
// "whole word" match
// Text is sorted as array of character
$text = "This film is the best film of the year."; // Find: film, replace: movie
$word = "film";
$replace = "movie";
echo strlen($text) . "<br>";
for($i = 0; $i <= strlen($text); $i++){
while(substr($text,$i,1) != " ") {
echo substr($text,0,1);
}
}
?>
编辑: 它仍然不能正常工作:
for($i = 0; $i <= strlen($text); $i++){
while(substr($text,$i,1) != " ") {
echo substr($text,$i,1);
}
}
没有While循环通过它的每一个字母迭代。但它不适用于whileloop。
这是使用正则表达式要容易得多:
$text = "This film is the best film of the year."; // Find: film, replace: movie
$word = "/film/i";
$replace = "movie";
echo preg_replace($word, $replace , $text);
谢谢。我本来可以用str_replace来完成它,但是我试图完全没有字符串操作函数。我更新了我的代码......但它仍然不起作用:(谢谢你 –
这对我来说很好,我测试过了。你为什么要避免字符串操作? – portforwardpodcast
因为我正在做一个“程序员“的课程,这就是为什么,所以你说,我的更新后的代码适合你吗?奇怪和奇怪的同步 –
它永远不会退出while循环开始。在第一次迭代中,它会一遍又一遍地检查*相同的*子字符串。你应该试着用for循环... – immulatin
你并没有在while循环中增加$ i,所以你总是比较第一个字符和空格....也许把'while'改为'if ',尽管我并不完全清楚你想要达到什么样的效果 –
你只是想把世界“电影”中的所有单词“电影”都取代吗? –