我需要在字符串中搜索特定的单词 我尝试不同的方式,但我总是一个错误 Blog& Content是我想要找到的元素
警告:strpbrk()期望参数2为字符串,
$string = $_SERVER['QUERY_STRING'];
var_dump($string);
if (strpbrk($string, $page) !== false) {
var_dump('true');
}
抱歉元素
var_dump($string) = string(31) "Blog&Content&blog_content_id=25"
var_dump($page) array(2) { [0]=> string(12) "Blog&Content" [1]=> string(0) "" }
答案 0 :(得分:0)
您的特定字词位于0
数组的$page
位置。
使用以下内容:
$string = $_SERVER['QUERY_STRING'];
var_dump($string);
if (strpos($string, $page[0]) !== false) {
var_dump('true');
}
答案 1 :(得分:0)
其他人建议使用strpos()
检查子字符串是否存在,但这不是一种值得信赖的方法,可以在样本隔离之外使用。目标字符串可以像值一样容易存在而不是键。
作为更好的做法,请在parse_str()
上使用$_SERVER["QUERY_STRING"]
,并在条件声明中根据需要致电isset()
。
代码:(假设$_SERVER["QUERY_STRING"]="Blog&Content&blog_content_id=25"
):
parse_str($_SERVER["QUERY_STRING"],$qs);
// $qs=array('Blog'=>'','Content'=>'','blog_content_id'=>'25');
if(isset($qs['Blog']) && isset($qs['Content'])){
echo "true";
}else{
echo "false";
}
让自己轻松一点,享受将查询字符串转换为数组的所有好处。