📜  从 PHP 中的 URL 字符串获取参数(1)

📅  最后修改于: 2023-12-03 15:36:14.765000             🧑  作者: Mango

从 PHP 中的 URL 字符串获取参数

在 PHP 中,我们常常需要从 URL 字符串中获取参数。例如,我们可能需要获取当前请求的页面 URL 中的参数,或者从其他 URL 中获取参数。本文将介绍如何在 PHP 中从 URL 字符串中获取参数。

解析 URL 字符串

要从 URL 字符串中获取参数,我们首先需要将 URL 字符串解析为数组。在 PHP 中,我们可以使用 parse_url() 函数来解析 URL 字符串,该函数将返回一个包含 URL 各部分的关联数组。

例如,对于以下 URL:

https://www.example.com/search?q=php&sort=price-desc&page=2

我们可以使用如下代码将其解析为数组:

$url = 'https://www.example.com/search?q=php&sort=price-desc&page=2';
$parsedUrl = parse_url($url);

解析后的 $parsedUrl 数组包含以下键值:

array (
  'scheme' => 'https',
  'host' => 'www.example.com',
  'path' => '/search',
  'query' => 'q=php&sort=price-desc&page=2',
)

其中,query 键对应的值是包含参数的字符串。

获取参数

一旦我们将 URL 解析为数组,就可以使用 parse_str() 函数来将 query 字符串解析为包含参数的数组。

例如,我们可以使用如下代码获取查询参数:

$query = $parsedUrl['query'];
$params = array();
parse_str($query, $params);

此时,$params 数组包含以下键值:

array (
  'q' => 'php',
  'sort' => 'price-desc',
  'page' => '2',
)

我们可以通过 $params 数组的键名来获取指定参数的值:

$page = $params['page'];  // 输出 '2'
总结

通过解析 URL 字符串并将其转换为包含参数的关联数组,我们可以轻松地从 PHP 中的 URL 中获取参数。在实际应用中,我们通常需要对用户输入进行验证和过滤,以确保输入的安全性。