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();
$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 に答える
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 に答える