Php string into array the following string: sex-1-area-2-pagesize-18-pageindex-1 into array
[Sex] => 1 [area] => 2 [pagesize] => 18 [pageinde] => 1
I use explode. only [0] => sex [1] => 1 [2] => area [3] => 2
The above string is a URL-based 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 expressions.
$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;}