PHP数组分解/爆炸

时间:2016-08-16 15:02:50

标签: php arrays

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
    )
 )

我过去几天一直在努力打破这个阵列。我已经找到了一些有用的函数来提取我在定义起点和终点时所需的字符串,但是,我看不出这对于长期使用是好的。基本上我试图将字符串相对于[0],并提取“Model =”和“Trim =”之后的字符串,希望有这样的数组:

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

我通过api获取这些信息,因此提出动态解决方案是我最大的挑战。我意识到这是一个很大的问题,但有没有更好/更少的hacky方法来解决这个问题?

1 个答案:

答案 0 :(得分:5)

parse_url()将为您提供查询字符串,parse_str()解析变量:

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

print_r($result);

收率:

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

现在只是echo $result['Model']等......