Print_r无法使用preg_split

时间:2012-10-10 07:12:48

标签: php arrays preg-split

我编写了一个在我的数据库中搜索的函数。我想消除单词之间不必要的空格,所以我使用了preg_split。我之前没有使用preg拆分,因此我使用print_r来查看它是否做了我希望它做的事情(消除空白区域)。然而,当我使用print_r时,在搜索中输入单词后,我的屏幕上没有任何内容可以显示数组。

function search_results($keywords){
    $returned_results = array();
    $where = "";

    $keywords = preg_split('/[\s]+/', $keywords);
    print_r($keywords);

}

如果有人能让我知道我做错了什么或更好的提示,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

你没有得到你的正则表达式的任何匹配,这就是你没有获得任何数组的原因。试试这个:

 $keywords = preg_split("/\\s/", $keywords);

答案 1 :(得分:0)

我用search_results("hi there");测试了你的功能。我在这里完美运行,没有问题。这是我得到的结果:

Array
(
    [0] => hi
    [1] => there
)

答案 2 :(得分:0)

Tyr this

$base_str = "this    is a   string  with multiple    spaces between  some words.            "; 


$start = microtime(1); 
for ($i=0; $i<100000; $i++){ 
    $string = $base_str; 
    while(strpos($string, '  ') !== false) 
    { 
         $string = str_replace('  ', ' ', $string); 
    } 
} 

echo $string;