从字符串生成数组

时间:2012-11-11 13:25:57

标签: php arrays

我有一个这样的字符串:

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

我想生成一个数组:

$arr = array (

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

);

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:3)

尝试

if (preg_match_all('/(\d+)\-(\d*)/', $str, $matches)) {
  $arr = array_combine($matches[1], $matches[2]);
}