我编写了一个在我的数据库中搜索的函数。我想消除单词之间不必要的空格,所以我使用了preg_split。我之前没有使用preg拆分,因此我使用print_r来查看它是否做了我希望它做的事情(消除空白区域)。然而,当我使用print_r时,在搜索中输入单词后,我的屏幕上没有任何内容可以显示数组。
function search_results($keywords){
$returned_results = array();
$where = "";
$keywords = preg_split('/[\s]+/', $keywords);
print_r($keywords);
}
如果有人能让我知道我做错了什么或更好的提示,我将不胜感激。
答案 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;