如下这段字符串:sex-1-area-2-pagesize-18-pageindex-1 转化成数组
[sex] => 1 [area] => 2 [pagesize] => 18 [pageinde] => 1
我用explode,只能 [0] => sex [1] => 1 [2] => area [3] => 2 这样的
上面的字符串是一个url传递的参数
回复讨论(解决方案) $s = 'sex-1-area-2-pagesize-18-pageindex-1';foreach(array_chunk(explode('-', $s), 2) as $v) { $r[$v[0]] = $v[1];}print_r($r);
array
(
[sex] => 1
[area] => 2
[pagesize] => 18
[pageindex] => 1
)
也可以用正则 $s = 'sex-1-area-2-pagesize-18-pageindex-1';preg_match_all('/(\w+)\-(\w+)/', $s, $r);$r = array_combine($r[1], $r[2]);print_r($r);
array
(
[sex] => 1
[area] => 2
[pagesize] => 18
[pageindex] => 1
)
$test = sex-1-area-2-pagesize-18-pageindex-1; $preg = /(?.$value; }