I have a url with parameters appended to it. I want to know if there's a way (similar to explode) that seperates a string based on a delimiter and makes the string on the left of the delimiter the key of an array and the string on the right of the delimiter the value.

I have the following url - http://www.domain.com?param1=value1&param2=value2

I remove the domain name and the question mark to leave me with the parameters. I then explode the parameters using the delimiter '&' so that I have an array with two entries as follows:

$params = array('param1=value1', 'param2=value2');

I want to create a new array from this so that I end up with an array like the following:

$param_values = array(
    'param1' => 'value1',
    'param2' => 'value2'

I know how to go about this manually. I'm just wondering if there is a php function that does the same?

6 Years
Discussion Span
Last Post by Venom Rush

Soemthing like?

$get = $_GET;
$r[$get['param1']] = $get['param2'];

Obviously you'd have to check the existence and validity of the data before doing this.

Edited by diafol


Hey diafol

That's not exactly what I'm looking for but the concept is similar to how I'd go about doing it manually except I'd do it like this:

$params = array('param1=value1', 'param2=value2')

foreach($params as $items)
    $item = explode('=', $items);

    $param_values[$item[0]] = $item[1];

I'm looking for a native php function that does this, but if there isn't one I'll just stick to the tried and tested.

Edited by Venom Rush


Can't say that I've seen a native function for this. Doesn't mean to say that one doesn't exist though.

Edited by diafol


After some searching I wasn't able to find one. I guess my manual solution will have to do.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.