首页 >后端开发 >php教程 >如何从 PHP 中的 URL 检索多个同名参数?

如何从 PHP 中的 URL 检索多个同名参数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-04 16:18:11284浏览

How Can I Retrieve Multiple Parameters with the Same Name from a URL in PHP?

从 PHP 中的 URL 检索多个同名参数

处理包含多个同名参数的 URL 时,PHP 的默认行为使用 $_GET 仅返回最后分配的值。要访问给定键的所有值,请考虑以下方法:

  1. 解析查询字符串:使用explode 将查询字符串拆分为各个参数。
$query = explode('&', $_SERVER['QUERY_STRING']);
  1. 初始化一个数组:创建一个数组来存储参数。
$params = array();
  1. 提取参数名称和值:迭代参数并使用explode 提取名称和值。
foreach ($query as $param) {
  // Handle null value with '='
  if (strpos($param, '=') === false) $param += '=';

  list($name, $value) = explode('=', $param, 2);
}
  1. 解码并存储在数组中:解码提取的参数并将其添加到数组中,为具有多个值的参数创建一个数组。
  $params[urldecode($name)][] = urldecode($value);
}

使用这种方法,您可以按如下方式访问多个参数值:

print_r($params['rft_id']);
// Array ('info:oclcnum/1903126', 'http://www.biodiversitylibrary.org/bibliography/4323')

以上是如何从 PHP 中的 URL 检索多个同名参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn