首页 > 解决方案 > 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.

标签: phpurlpreg-match-all

解决方案


实际上,您可以通过许多不同的方式获得关联数组,例如使用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 
)

演示: https ://3v4l.org/fjadK


推荐阅读