Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果URL中有特定查询,请检入PHP_Php_Url_If Statement_Parameters - Fatal编程技术网

如果URL中有特定查询,请检入PHP

如果URL中有特定查询,请检入PHP,php,url,if-statement,parameters,Php,Url,If Statement,Parameters,我正在尝试检查URL中是否有具有多个参数的特定查询: $parts = parse_url('http://my url?queryA=valueA&queryB=valueB&queryC=valueC ....'); parse_str($parts['query'], $query); 我使用了下面的公式来获取查询的值 $query['queryA']//outputs valueA 但是,我想检查“queryA”是否确实在URL查询中: echo $parts['qu

我正在尝试检查URL中是否有具有多个参数的特定查询:

$parts = parse_url('http://my url?queryA=valueA&queryB=valueB&queryC=valueC ....');
parse_str($parts['query'], $query);
我使用了下面的公式来获取查询的值

$query['queryA']//outputs valueA
但是,我想检查“queryA”是否确实在URL查询中:

echo $parts['query'] // Outputs the full query - queryA=valueA&queryB=valueB&queryC=valueC

// Trying for
if($parts['query'] == 'queryA') {
    // queryA is in the URL
}
使用检查
queryA
存在于
$query
数组中的键

$parts = parse_url('http://my url?queryA=valueA&queryB=valueB&queryC=valueC');
parse_str($parts['query'], $query);
if (array_key_exists('queryA', $query)) {
    echo "queryA element is in the array";
}

谷歌:“PHP检查变量存在”…-示例#1第二部分向您展示了如何检查数组是否存在您所说(或认为)的可能重复项;另一个问题是检查是否有
isset()
,而不是解析url。在我看来,这几乎不是重复的问题,因为接受的答案包含
array\u key\u exists()。这里有两种不同的动物。另外,另一个问题甚至没有提到
parse\u url()
。如果你想把一个问题标记为重复问题,最好再深入一点。;-)@Fred ii-不使用
isset
over
array\u key\u exists
,OP试图在使用变量之前确定变量是否存在-因此,这个问题表明OP在搜索google并自己找到答案方面几乎没有什么努力。副本确实显示了如何测试变量是否存在-它可能不是100%相同的单词,但它肯定是100%相同的解决方案。@ash哦,没有人认为它是副本(无论如何,到目前为止),因为它没有被升级。如果有人(最终)投了赞成票,而且不止一次,当然。。。为什么不呢?不过上面写着“我的2美分”。-)@弗雷德二世-当然,我们可能会大发雷霆。我个人认为这种程度的懒惰所带来的声誉回报是不可接受的;但这又不是我的决定,只是我对这件事的看法。答案很好,因为这个问题应该结束,所以不准备投票。