除了变量in_array php以外的任何东西

时间:2014-03-26 14:51:06

标签: php wordpress if-statement

我正在构建一个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 = "&";

2 个答案:

答案 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