Как объединить несколько массивов с одинаковыми ключами в один массив? - PullRequest
0 голосов
/ 17 сентября 2010

Я новичок в php.Мне нужна помощь.У меня был массив как

Array ( [_] => Array ( [0] => [1] => )
        [123_] => Array ( [0] => 123 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
      )
Array ( [_] => Array ( [0] => [1] => )
        [12345_] => Array ( [0] => 12345 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
      )

, поэтому ... что моя проблема в том, что я хочу массив со всеми этими ключами и значениями, как

Array ( [_] => Array ( [0] => [1] => )
        [123_] => Array ( [0] => 123 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
        [_] => Array ( [0] => [1] => )
        [12345_] => Array ( [0] => 12345 [1] => ) 
        [1234_] => Array ( [0] => 1234 [1] => )
  )

, будут дубликаты ключей и значенийно я хочу, чтобы все они были в виде массива .. любая помощь плз ..

Ответы [ 3 ]

7 голосов
/ 17 сентября 2010

То есть не возможно. Массив PHP не может иметь два одинаковых ключа.

1 голос
/ 18 сентября 2010

Как говорили другие, невозможно иметь один массив с дублирующимися ключами. Но вы можете построить массив из массива:

<?php
$arr1 = array( '_' => Array ( '0' => '', '1' => ''),
             '123_' => Array ( '0' => 123, '1' => ''), 
             '1234_' => Array ( '0' => 1234, '1' => '')
);
$arr2 = array ( '_' => Array ( '0' => '', '1' => ''),
               '12345_' => Array ( '0' => 12345, '1' => ''), 
               '1234_' => Array ( '0' => 1234, '1' => '')
);
$result = array();
foreach( $arr1 as $key => $val) {
  $result[] = array('key'=>$key, 'value'=>$val);
}
foreach( $arr2 as $key => $val) {
  $result[] = array('key'=>$key, 'value'=>$val);
}
print_r($result);
?>

Ouput:

Array
(
    [0] => Array
        (
            [key] => _
            [value] => Array
                (
                    [0] =>
                    [1] =>
                )

        )

    [1] => Array
        (
            [key] => 123_
            [value] => Array
                (
                    [0] => 123
                    [1] =>
                )

        )

    [2] => Array
        (
            [key] => 1234_
            [value] => Array
                (
                    [0] => 1234
                    [1] =>
                )

        )

    [3] => Array
        (
            [key] => _
            [value] => Array
                (
                    [0] =>
                    [1] =>
                )

        )

    [4] => Array
        (
            [key] => 12345_
            [value] => Array
                (
                    [0] => 12345
                    [1] =>
                )

        )

    [5] => Array
        (
            [key] => 1234_
            [value] => Array
                (
                    [0] => 1234
                    [1] =>
                )

        )

)
0 голосов
/ 17 сентября 2010

Посмотрите на PHP * array_merge() -функцию .

...