我有以下数组,它在值“/”中有一些额外的字符。
Array
(
[ID1] => 362/2
[ID2] => 589/3
[ID3] => 697/4
[ID4] => 111/5
[ID5] => 422/6
)
我想要实现和获得的内容如下
Array
(
[ID1] => 362
[ID1] => 2
[ID2] => 589
[ID2] => 3
[ID3] => 697
[ID3] => 4
[ID4] => 111
[ID4] => 5
[ID5] => 422
[ID5] => 6
)
并且,我试图在php中编写脚本来解决上述问题......
$exp = array();
foreach ($value as $val) {
$pl = explode('/', $val);
$exp[] = $pl[0] ."=>".$pl[1];
}
print_arr($exp);
但是,我得到了以下结果,其中它是错误的......
Array
(
[0] => 362=>2
[1] => 589=>3
[2] => 697=>4
[3] => 111=>5
[4] => 422=>6
)
我该怎么办?请帮忙吗?
答案 0 :(得分:1)
使用相同的密钥不可能有多个值。
对您来说,最好的解决办法可能是:
$exp = array();
foreach ($value as $id => $val) {
list($first, $second) = explode('/', $val);
$exp[$id] = array(
'first' => $first,
'second' => $second
);
}
所以在输出中你会得到:
array(
'id1' => array(
'first' => 362,
'second' => 2
),
...
)
答案 1 :(得分:1)
$exp = array();
$i=1;
foreach ($value as $val) {
$pl = explode('/', $val);
$exp['id'.$i][] = $pl[0];
$exp['id'.$i][] = $pl[1];
$i++;
}
您的预期数组有重复的密钥,这是不可能的