The following string: Sex-1-area-2-pagesize-18-pageindex-1 conversion Group
[Sex] = 1 [Area] = 2 [pagesize] [Pageinde] + 1
I use explode, only [0] = sex [1] = 1 [2] = area [3] = 2 such
The above string is a URL-passed parameter
Reply to discussion (solution)
$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
)
You can also use regular
$s = ' sex-1-area-2-pagesize-18-pageindex-1 ';p reg_match_all ('/(\w+) \-(\w+)/', $s, $r); $r = Array_combine ($r [1], $r [2]) ;p Rint_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;}
!--? php$str = ' sex-1-area-2-pagesize-18-pageindex-1 '; $str = explode ('-', $str); for ($i =0, $max =count ($str), $i $max, $i + +) {$result [$STR [$i]] = $str [+ + $i];} Print_r ($result);