试图用句子将句子吐入数组

时间:2013-06-06 01:57:37

标签: php string

如果句子中有多个单词,我试图将一个句子分成一个带有单词的数组,一个单词作为每个元素。如果句子中只有一个单词,那么我只打印一个单词。

我的问题是当我将句子分成由空格分隔的单词并将内容放入数组时。我这一切都是用爆炸来做的。但是,当我浏览显然爆炸的数组时,它表示当我尝试打印每个项目时数组中没有任何内容。

这是我的代码:

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;什么都不打印?为什么数组$句子中没有任何内容?

1 个答案:

答案 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';
}
?>

查看str_word_count