首页 >后端开发 >php教程 >如何在 PHP 中将查询字符串解析为数组?

如何在 PHP 中将查询字符串解析为数组?

Patricia Arquette
Patricia Arquette原创
2024-12-17 09:12:25272浏览

How Can I Parse a Query String into an Array in PHP?

将查询字符串解析为数组

在 Web 编程领域,通常需要操作查询字符串 - 附加到 URL 的数据片段。一项常见任务是将这些字符串解析为结构化数组以便于处理。

考虑这个查询字符串:

pg_id=2&parent_id=2&document&video

我们的目标是将此字符串转换为类似于以下的数组:

array(
    'pg_id' => 2,
    'parent_id' => 2,
    'document' => ,
    'video' =>
)

解决方案:parse_str函数

PHP 的 parse_str 函数在这项任务上表现出色。它需要两个参数:要解析的查询字符串和输出数组变量。通过指定第二个参数,我们指示函数使用检索到的键值对填充数组。

代码演示

$queryString = "pg_id=2&parent_id=2&document&video";
parse_str($queryString, $queryArray);

print_r($queryArray);

此代码分配查询字符串到 $queryString 变量并调用 parse_str 用解析的数据填充空的 $queryArray。可以使用 print_r 显示结果数组。

输出:

Array
(
    [pg_id] => 2
    [parent_id] => 2
    [document] =>
    [video] =>
)

附加说明

  • 请记住,parse_str 区分查询字符串中的数组和字符串。
  • 例如,如果“document[]”出现在查询字符串中,parse_str 会将其解释为输出中的数组。
  • 通过将第二个参数设置为 true,parse_str 将所有值视为字符串,而不是自动将它们强制为适当的值类型。

以上是如何在 PHP 中将查询字符串解析为数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

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