0

我有一个这样的字符串:

$str = '35-3|24-6|72-1|16-5';

我想生成一个数组:

$arr = array (

    35 => 3,
    24 => 6,
    72 => 1,
    16 => 5

);

最好和最简单的方法是什么?

4

2 回答 2

10

您可以尝试如下

$str = '35-3|24-6|72-1|16-5';

$data = explode("|",$str);
$arr = array();
foreach($data as $value){
  $part = explode('-',$value);
  $arr[$part[0]]=$part[1];
}

var_dump($arr);
于 2012-11-11T13:29:01.620 回答
3

尝试

if (preg_match_all('/(\d+)\-(\d*)/', $str, $matches)) {
  $arr = array_combine($matches[1], $matches[2]);
}
于 2012-11-11T13:32:52.057 回答