1

我有以下数组,它在值“/”中有一些额外的字符。

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
)

我该怎么做?请帮忙?

4

2 回答 2

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
  ),
  ...
)
于 2013-10-03T10:55:13.177 回答
1
$exp = array();
$i=1;
    foreach ($value as $val) {
        $pl = explode('/', $val);
        $exp['id'.$i][] = $pl[0];
        $exp['id'.$i][] = $pl[1]; 
        $i++;
    }

您预期的数组有重复的键,这是不可能的

于 2013-10-03T11:03:47.330 回答