php字符串转化成数组 如下这段字符串: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传递的参数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $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; } <?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); 相同内容不显示,如何实现 中文文件名的伪静态规则怎么写? ajax如何多加一个传递参数? 天气预报接口 菜鸟问题:字符串! 请问我写的这个php函数体传递变量的时候为什么总是上一个函数体的值? 网上找的一段代码有不明白的地方请指点 如何用PHP对MYSQL数据库备份? 在php中如何取得用户上网的计算机的操作系统名称, 用php接收表单的数据,有哪几种方法,具体怎么实现。 问个关于数组的问题 当执行mysql insert 时插入两条是怎么回事?
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
)
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
)
$preg = "/(?<=\d)-(?=[a-z])/";
$res = preg_split($preg,$test);
foreach($res as $tmp){
list($key,$value) = explode("-",$tmp);
echo $key."=>".$value;
}
$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);