如何获取多次声明的参数的值

我正在构建一个 PHP 查询 mongodo 数据库。我需要从 url 中检索参数的值,并且可能有多个参数。


示例网址如下所示


http://localhost/api/v1/report-01?type=EE&type=ER


我将如何从 中检索这两个值type。


目前我只拿到一张,而且是最后一张。


  if (isset($params["TYPE"]) && in_array($params["TYPE"], ["EE", "ER"])) {

      $matchPipeline["TYPE"] = $params["TYPE"];

      echo "Printing Variables";

      echo $params["TYPE"];

    }

该代码仅打印ER。


我无法访问前端,只能访问后端,因此无法更改 URL 结构


RISEBY
浏览 141回答 3
3回答

慕工程0101907

只需创建此函数查询数组并拆分值function queryToArray($q){   $arr = [];   foreach(explode("&", $q) as $l)   {      $b = explode('=', $l);      if ( (is_array($b) && count($b) > 0) )        $arr[$b[0]] = $b[1];   }   return $arr;}$arr = parse_url($url_string);print_r(queryToArray($arr['query']);

米琪卡哇伊

您可以通过直接访问全局$_SERVER变量并使用preg_match_all来实现此目的,下面是一个示例:<?phppreg_match_all('/type=(\w+)/', $_SERVER['QUERY_STRING'], $matches);var_dump($matches[1]);

拉丁的传说

我如何从类型中检索这两个值。密钥后带有 [ ]api/v1/report-01?type[]=EE&type[]=ER
打开App,查看更多内容
随时随地看视频慕课网APP