当前位置:Gxlcms > PHP教程 > php字符串转化成数组

php字符串转化成数组

时间:2021-07-01 10:21:17 帮助过:3人阅读

如下这段字符串: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 = "/(?<=\d)-(?=[a-z])/";	$res = preg_split($preg,$test);		foreach($res as $tmp){		list($key,$value) = explode("-",$tmp);		echo $key."=>".$value;	}

                    

人气教程排行