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 に答える