如果句子中有多个单词,我试图将一个句子分成一个带有单词的数组,一个单词作为每个元素。如果句子中只有一个单词,那么我只打印一个单词。
我的问题是当我将句子分成由空格分隔的单词并将内容放入数组时。我这一切都是用爆炸来做的。但是,当我浏览显然爆炸的数组时,它表示当我尝试打印每个项目时数组中没有任何内容。
这是我的代码:
if(isset($_GET['check'])){
$input = trim($_GET['check']);
$sentence='';
if(stripos($input, ' ')!==false){
$sentence = explode(' ', $input);
foreach($sentence as $item){
echo $item;
}
}
else{
echo $input;
}
}
为什么echo $item;
什么都不打印?为什么数组$句子中没有任何内容?
答案 0 :(得分:0)
您的代码似乎运行正常。确保你得到变量。您可以执行print_r($_GET);
你也可以这样做:
<?php
$_GET['check'] = 'Hey how are you?';
if (isset($_GET['check'])) {
// each word is now an element in the array
$arr = explode(' ', trim($_GET['check']));
}
// piece each word back together with a space
echo implode(' ', $arr);
?>
无论是单个单词还是多个单词都无关紧要。
更新:如果您确实想要检查用户是输入了一个字还是多个字,您可以这样做:
<?php
$_GET['check'] = 'Hey how are you?';
if (str_word_count($_GET['check']) > 1) {
echo 'More than one word';
} else {
echo 'Only one word';
}
?>