2013-08-11 7 views
1

Как подключить массивы? Например, у меня есть несколько отдельных массивов ошибки ниже,Как объединить массивы в PHP?

$message = array(); 
$message[] = array('error1' => '<error elementid="file_rename" message="bla bla 1." />'); 
$message[] = array('error2' => '<error elementid="file_rename" message="bla bla 2." />'); 
print_r($message); 

результат,

Array (
    [0] => Array 
     (
      [error1] => <error elementid="file_rename" message="bla bla 1." /> 
     ) 

    [1] => Array 
     (
      [error2] => <error elementid="file_rename" message="bla bla 2." /> 
     ) 

) 

Но я на самом деле хочу это,

Array (
    [error1] => <error elementid="file_rename" message="bla bla 1." /> 
    [error2] => <error elementid="file_rename" message="bla bla 2." /> 

) 
+1

это не несколько массивов, что это один массив, вы просто оставили его в PHP, чтобы получить значение ключа –

+2

' $ message [$ key] = $ value' –

+1

Это было [спрошено] (http://stackoverflow.com/questions/6535444/combine -дво-массивы) [несколько] (http://stackoverflow.com/questions/13170230/php-combine-two-associative-arrays-into-one-array) [раз] (http://stackoverflow.com/questions/8561987/PHP-слияния-двух массивов). –

ответ

4
$message = array(); 
$message['error1'] = '<error elementid="file_rename" message="bla bla 1." />'; 
$message['error2'] = '<error elementid="file_rename" message="bla bla 2." />'; 
print_r($message); 
+4

Я думаю, что индекс массива должен в кавычках – jysperm

+0

должен быть да, не должен, исправлен. –

2

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

$arr1 = array('error1' => '<error elementid="file_rename" message="bla bla 1." />'); 
$arr2 = array('error2' => '<error elementid="file_rename" message="bla bla 2." />'); 

$message = $arr1 + $arr2; 

Результат:

Array (
    [error1] => <error elementid="file_rename" message="bla bla 1." /> 
    [error2] => <error elementid="file_rename" message="bla bla 2." /> 
) 
3

Или используйте array_merge:

$newArray = array_merge($arr1, arr2); 
Смежные вопросы