php - PHP URL QUERY to array
问题描述
I have a problem with this:
<?php $url = 'aa=bb&cc=dd&ee=ff';
For something like this:
<?php $url = array('aa' => 'bb', 'cc' => 'dd', 'ee' => 'ff');
My code:
<?php
$url = 'aa=bb&cc=dd&ee=ff';
preg_match_all('[(\w+)=(\w+)]', $url, $matches);
var_export($matches);
Result:
array ( 0 => array ( 0 => 'aa=bb', 1 => 'cc=dd', 2 => 'ee=ff', ), 1 => array ( 0 => 'aa', 1 => 'cc', 2 => 'ee', ), 2 => array ( 0 => 'bb', 1 => 'dd', 2 => 'ff', ), )
It's almost okay, I just want to get rid of this first key. Thank you for your help.
解决方案
实际上,您可以通过许多不同的方式获得关联数组,例如使用regex、使用explode by&
等等。
但如果我是你,我会用parse_str()
<?php
$url = 'aa=bb&cc=dd&ee=ff';
parse_str($url, $query);
print_r($query);
?>
输出:
Array (
[aa] => bb
[cc] => dd
[ee] => ff
)
推荐阅读
- sql - 通过生成三重重复行将 generate_serires 与分区一起使用
- kibana - 通过使用 kafka 的 elasticsearch 使时间戳字段在 kibana 中可用
- ansible - 尝试根据操作系统拆分我的 Ansible 剧本
- clickhouse - 如何知道数据何时插入到 clickhouse
- python - 添加 datetime.time 对象列表
- javascript - 正则表达式至少包含以下 3 个 [0-9]、[az]、[AZ] 或特殊字符($ 除外)
- vue.js -
如何使用列表字符串进行多项选择 - java - 有没有办法在不使用管道的情况下检查 Apache Beam sdk 中是否存在文件
- go - 界面[golang]中的字段?
- iot - 将 Grafana 连接到 Kapua 的 Elasticsearch