0

如果句子中有多个单词,我正在尝试将一个句子拆分为一个包含单词的数组,每个元素一个单词,在 PHP 中。如果句子中只有一个词,那么我只打印那个词。

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

这是我的代码:

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

4

1 回答 1

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

于 2013-06-06T02:03:35.370 回答