我正在构建一个URL来在wordpress中发送$ _GET变量,并且需要确定是否存在“?”在URL中,换句话说,如果$ _GET数组由以外的任何填充此脚本正在发送的对。
得出以下基本上说,如果数组中没有任何内容我们需要使用“?”,但是如果数组中只有一个东西是my_variable,我们需要使用“?”,否则( $ _GET已填充,因此我们只是添加它,因此我们使用“&”。
但有没有办法说,“如果$ _GET包含my_variable以外的任何内容”?
if (count($_GET) < 1)
$get_divider = "?";
elseif ( (count($_GET) == 1) && (isset($_GET['mz_week'])) )
$get_divider = "?";
else
$get_divider = "&";
答案 0 :(得分:0)
您可以在请求网址上使用strpos
:
if (strpos(basename($_SERVER['REQUEST_URI']), "?") !== FALSE) {
$get_divider = "&";
}
在这个答案的评论之后,我提出了这个解决方案:
if (count(array_diff_key($_GET, array("mz_week" => 0))) == 0) {
$get_divider = "?";
} else {
$get_divider = "&";
}
它不是那么漂亮,而是它的工作。
答案 1 :(得分:0)
事实证明,这个插件设计使用的wordpress有自己添加查询参数的功能,它会添加“?”或“&amp;”有必要的: http://codex.wordpress.org/Function_Reference/add_query_arg