Php 将字符串与basename进行比较
我想知道URL的结尾是否是,例如,Php 将字符串与basename进行比较,php,string,Php,String,我想知道URL的结尾是否是,例如,?投票 使用basename($\u SERVER['REQUEST\u URI']).PHP\u EOL,我想我可以将其与字符串“?vote”进行比较,但它不起作用 $url = basename($_SERVER['REQUEST_URI']).PHP_EOL; if (strcasecmp($url, "?vote") == 0) { echo "they match"; } else { echo "they DO N
?投票
使用basename($\u SERVER['REQUEST\u URI']).PHP\u EOL
,我想我可以将其与字符串“?vote”
进行比较,但它不起作用
$url = basename($_SERVER['REQUEST_URI']).PHP_EOL;
if (strcasecmp($url, "?vote") == 0)
{
echo "they match";
}
else
{
echo "they DO NOT match";
}
访问
?投票
,我们称之为查询字符串,使用PHP,您可以像这样访问$\u服务器['Query\u String']
。因此,您不需要使用basename。对的访问?投票
,我们称之为查询字符串,使用PHP,您可以像这样访问$\u服务器['Query\u String']
。所以您不需要使用basename。怎么样
if ($_SERVER['QUERY_STRING'] == 'vote')
{
echo "they match";
}
else
{
echo "they DO NOT match";
}
怎么样
if ($_SERVER['QUERY_STRING'] == 'vote')
{
echo "they match";
}
else
{
echo "they DO NOT match";
}
要确定是否设置了
投票
查询参数,请使用:
isset($_GET['vote'])
如果您真的关心紧跟在
?
之后的参数的位置(您不应该这样做),请将该值与$\u服务器['QUERY\u STRING']
匹配。具体如何取决于投票
是否应具有值以及是否应允许其他参数。URL是这样定义的,因此查询中参数的顺序实际上不会对您产生任何影响。要确定是否设置了投票
查询参数,请使用:
isset($_GET['vote'])
如果您真的关心紧跟在
?
之后的参数的位置(您不应该这样做),请将该值与$\u服务器['QUERY\u STRING']
匹配。具体如何取决于投票
是否应具有值以及是否应允许其他参数。url是这样定义的,所以查询中参数的顺序对您来说应该不会有任何区别。为什么不干脆isset($\u GET['vote'])
?问题是url可能以“?death=123&vote=1&banana=one”结尾,并且它仍然匹配…@Robert Sure,但您需要一个很好的理由来关注这种差异。:)@daidai被设计来处理这样的情况,试试看,不要重新发明轮子。为什么不简单地isset($\u GET['vote'])
?问题是url可能以“?death=123&vote=1&banana=one”结尾,它仍然匹配…@罗伯特:当然,但你需要一个很好的理由来关注这种差异。:)@daidai设计用于处理这样的情况,尝试一下,不要重新发明轮子。这是真的。:)你可以做一些preg\u match
ing来避免这种情况。或者,如果vote
是唯一允许的参数,则可以将问题简化为许多简单的解决方案。但实际上,除非你有很好的理由担心参数在查询字符串中的位置(我真的想不出任何原因),$\u GET['vote']
无论如何都是这样做的。是的,我认为这个问题本身很模糊。没错。:)你可以做一些preg\u match
ing来避免这种情况。或者,如果vote
是唯一允许的参数,则可以将问题简化为许多简单的解决方案。但实际上,除非你有很好的理由担心参数在查询字符串中的位置(我真的想不出任何原因),$\u GET['vote']
无论如何都是这样做的。是的,我认为这个问题本身很模糊。