我已经尝试了几个小时来解决这个问题,但无济于事。我搜索和搜索了很多结果,说使用数组。我不能使用数组,因为我的课程尚未涉及。这就是我要做的事情: 我将使用for循环来检查使用索引变量的字符。 找到空白字符时,表示单词的结尾。 然后,我需要从字符串中提取单词并增加单词计数,从而打印单词计数和提取的单词,继续直到句子的结尾。 然后打印总字数。 我坚持的是提取这个词。这是我到目前为止所做的,这很可能是错的,但我在这里结束了我的智慧,所以任何一点点推动正确的方向都会很棒。 (记住,我不能使用数组。)
$stringSentence = "The quick brown fox jumps over the lazy dog";
$wordcount = 1;
$blankCharacter = stripos($stringSentence, " ");
for ($i =0; $i<strlen($stringSentence);$i++)
{
$i. " ". $stringSentence{$i}."<br>";
}
if ($blankCharacter)
{
echo $wordcount++, " ";
echo substr($stringSentence,0,$blankCharacter);
}
感谢您的帮助。
答案 0 :(得分:0)
阵列并不复杂!并且解决方案非常简单:
(这里我只是explode()
你的字符串变成一个数组。然后我只是遍历数组并打印输出)
<?php
$stringSentence = "The quick brown fox jumps over the lazy dog";
$words = explode(" ", $stringSentence);
foreach($words as $k => $v)
echo "WordCount: " . ($k+1) . "| Word: $v<br>";
echo "Total WordCount: " . count($words);
?>
输出:
WordCount: 1| Word: The
//...
WordCount: 9| Word: dog
Total WordCount: 9
如果您想了解有关数组的更多信息,请参阅手册:http://php.net/manual/en/language.types.array.php
修改强>
如果您不能使用数组,请使用:
这里我只是循环遍历句子的所有字符,以检查它是空格还是字符串的结尾。如果条件为真,我打印单词count +来自最后一个空格的substr,直到当前空格。然后我也用1增加字数。最后我简单地打印总字数(注意我减去1,因为最后一个字也会加1到计数太多)。
<?php
$stringSentence = "The quick brown fox jumps over the lazy dog";
$wordcount = 1;
$blankCharacter = 0;
for ($i = 0; $i < strlen($stringSentence); $i++) {
if($stringSentence[$i] == " " || $i+1 == strlen($stringSentence)) {
echo "WordCount: $wordcount | Word: " . substr($stringSentence, $blankCharacter, $i-$blankCharacter+1) . "<br>";
$blankCharacter = $i;
$wordcount++;
}
}
echo "Total WordCount: " . ($wordcount-1);
?>
答案 1 :(得分:0)
由于这是家庭作业,我不能为你做,但你有一个在错误的地方的一个结束
看看这个sudo代码,你应该朝着正确的方向前进。
$blankCharacter = ' ';
for ($i =0; $i<strlen($stringSentence);$i++)
{
if (thisCharacter == $blankCharacter)
{
$wordcount++;
}
}
答案 2 :(得分:0)
您是否考虑过查看每个字母以检查空格并存储在临时缓冲区中?一个例子:
$stringSentence = "The quick brown fox jumps over the lazy dog";
$buffer = '';
$count = 1;
$length = strlen($stringSentence);
for ($i = 0; $i < $length; $i++) {
if ($stringSentence{$i} !== ' ') {
$buffer .= $stringSentence{$i};
} else {
echo $count++ . ' ' . $buffer . ' ';
$buffer = '';
}
}
echo $count . ' ' . $buffer;
我没有对我的答案做出太多解释..这是向你提供答案的倒退方法,但是由你来理解上述方法的工作方式和原因。