Connor McManus Connor McManus - 3 months ago 25
PHP Question

PHP Array Break Down/Explode

STARTING ARRAY

Array
(
[0] => Array
(
[0] => /searchnew.aspx?Make=Toyota&Model=Tundra&Trim=CrewMax+5.7L+V8+6-Spd+AT+SR5&st=Price+asc
[1] => 19
)
)


I have been struggling to break down this array for the past couple days now. I have found a few useful functions to extract the strings I need when a start and end point are defined, however, I can't see that being good for long term use. Basically I'm trying to take the string relative to [0], and extract the strings following "Model=" and "Trim=", in hopes to have array like this:

Array
(
[0] => Array
(
[0] => Tundra ***model***
[1] => CrewMax+5.7L+V8+6-Spd+AT+SR5 ***trim***
[2] => 19
)
)


I'm getting this information fed through an api, so coming up with a dynamic solution is my biggest challenge. I realize this a big question, but is there a better/less hacky way of approaching this problem?

Answer

parse_url() will get you the query string and parse_str() parses the variables from that:

$q = parse_url($array[0][0], PHP_URL_QUERY);
parse_str($q, $result);

print_r($result);

Yields:

Array
(
    [Make] => Toyota
    [Model] => Tundra
    [Trim] => CrewMax 5.7L V8 6-Spd AT SR5
    [st] => Price asc
)

Now just echo $result['Model'] etc...