php中带空格的数组遍历后如何再过滤空格
含空格数组需要遍历后能过滤空格精确搜索mysql数据库。相关代码如下:$_words=$result;if(strrpos($_words,"")){$_words=ex...
含空格数组需要遍历后能过滤空格精确搜索mysql数据库。相关代码如下:
$_words = $result;
if (strrpos($_words," ")) {
$_words = explode(" ", $_words);
}
foreach ($_keywords as $k=>$v) {
$sql="SELECT * FROM `ziaa` WHERE `zie`='$v'";
请高手指教如何更改,在线等。 展开
$_words = $result;
if (strrpos($_words," ")) {
$_words = explode(" ", $_words);
}
foreach ($_keywords as $k=>$v) {
$sql="SELECT * FROM `ziaa` WHERE `zie`='$v'";
请高手指教如何更改,在线等。 展开
5个回答
展开全部
最好不要这样做,你这相当于是制造了$_keywords的长度那么多次数据查询,服务器端表示压力很大。最好是直接传入原含空格的字符串,用一次SQL查询来搞定其中的逻辑。
更多追问追答
追问
我最终目的就是为了精确查询,不从数组下手我该如何做?
追答
你所谓的精确匹配是什么意思?我觉得“天色无双”的做法就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 in查询 效果会好点
$_words = $result;
if (strrpos($_words," ")) {
$_words = array_unique(explode(" ", $_words));
}
$words_str = "'".implode("','", $_words)."'";
$sql="SELECT * FROM `ziaa` WHERE `zie` in ({$words_str})";
更多追问追答
追问
我是要搜索一组带有空格的数组,比如:我们 都是 中国人,然后要从mysql库中精确匹配这三个分开的数组,你这个代码是集中处理了。
追答
你的代码不是已经实现这个功能了吗
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql="SELECT * FROM `ziaa` WHERE `zie`='trim($v)'";
追问
你这个运行出来还是不行,不能达到精确匹配查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用like语句即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用过正则吧!
追问
何解?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询