我正在使用php脚本来处理数千个查询(即http://localhost:1234/browse.php?cat=2),因此我不想在数组中编写数千个URL来处理if和else条件,例如下面的, 请指导我如何才能使用“?”如果url包含“?”,请在我的URL中签名以区分要处理的命令标志。 我在代码中使用了“/browse.php?*”,如下面的示例所示,但它仍然不适合我...请指导,因为我是新的PHP和搜索和很多关于这个答案,但无法找到一个正宗回答它,谢谢
if(in_array($_SERVER['REQUEST_URI'],array('/browse.php','/browse.php?*')))
{
echo "<Something Like this 1>";
}
elseif ($url == "")
{
echo "<Something Like this 2>";
};
答案 0 :(得分:0)
in_array
只会在此处检查完整匹配,并且不适合您尝试执行的操作。 PHP有很多String Functions你应该看看。
if (strpos($_SERVER['REQUEST_URI'], '?') !== false) {
//URL has '?' mark
}
else{
//URL has no '?' mark
}
答案 1 :(得分:0)
我相信您只关注cat
网址搜索参数?如果是这样,您可以使用browse.php
数组在$_GET
脚本中访问此参数:
<?php
if (array_key_exists('cat', $_GET)) {
echo "cat parameter: {$_GET['cat']}"; // display ?cat=value
} else {
echo 'No cat URL parameter'; // ?cat was not in the URL
}
?>
http://localhost:1234/browse.php
- &gt;没有猫网址参数
http://localhost:1234/browse.php?cat=57890
- &gt; cat参数:57890