PHP string Conversion Array
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
Share to:
------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
)
------Solution--------------------
You can also use regular
$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
)
------Solution--------------------
$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;
}
------Solution--------------------
$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);