数组我有一个这样的字符串:生成字符串
$str = '35-3|24-6|72-1|16-5';
我要生成一个数组:
$arr = array (
35 => 3,
24 => 6,
72 => 1,
16 => 5
);
什么是最好的,最简单的方法是什么?
数组我有一个这样的字符串:生成字符串
$str = '35-3|24-6|72-1|16-5';
我要生成一个数组:
$arr = array (
35 => 3,
24 => 6,
72 => 1,
16 => 5
);
什么是最好的,最简单的方法是什么?
你可以试试下面
$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);
嗨,你能深入阐述一下吗? – jainvikram444
尝试
if (preg_match_all('/(\d+)\-(\d*)/', $str, $matches)) {
$arr = array_combine($matches[1], $matches[2]);
}
你'$ arr'不是多维的。 – nkr
阅读关于爆炸功能在PHP – Oras
@Oras的爆炸函数(http://php.net/manual/en/function.explode.php)只能由一个分隔符分割。这不会像OP想要的那样产生一个关联数组。 –