我目前有这个:
$thispage = $_SERVER['QUERY_STRING'];
if($thispage == "i=f" || $thispage == "i=f&p=t" ) echo "active";
虽然“i = f& p = t”不正确,因为页面如下所示:
i=f&p=t&cid=71&id=161
我的问题是,如果只是$ _GET字符串的第一部分是正确的(在此示例中为“i = f& p = t”),那么它将如何匹配$thispage
。我不会我希望它检查& $_GETs
我希望$ thispage能够与其他页面一起使用,而不仅仅是上面的示例。我只想检查字符串的第一部分。不是&
之后的内容答案 0 :(得分:1)
我会选择parse_str功能:
parse_str($_SERVER['QUERY_STRING'], $thispage);
if ( $thispage['i'] === 'f' OR ($thispage['i'] === 'f' AND $thispage['p'] === 't') ) {
echo 'active';
}
<强>更新强>
我不希望它检查&amp; $ _GETs
我不知道为什么你不想使用$_GET
如果你现在正在处理查询字符串,但你也可以做以下事情,这更有意义:
if ( $_GET['i'] === 'f' OR ($_GET['i'] === 'f' AND $_GET['p'] === 't') ) {
echo 'active';
}
答案 1 :(得分:1)
你的意思是?
if(strpos($_SERVER['QUERY_STRING'], 'i=f') !== false) {
echo "active";
}
答案 2 :(得分:0)
如果这确实是您想要做的,那么您实际上是在检查是否
if (substr($_SERVER['QUERY_STRING'], 0, 7) === "i=f&p=t")
答案 3 :(得分:0)
您可以使用$_GET
数组直接访问网址参数。
var_dump($_GET);
如果您想使用$_SERVER['QUERY_STRING']
,可以使用parse_str函数来解析查询字符串:
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
?>