我使用PHP 5.6。我有一個數組是這樣的:合併數組動態它們具有相同的鍵
$array = [
0 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'john',
'lastname' => 'drake',
'food' => 'burger',
],
],
1 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'john',
'lastname' => 'drake',
'drink' => 'coke',
],
],
2 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'sam',
'lastname' => 'win',
'food' => 'pizza',
],
],
3 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'sam',
'lastname' => 'win',
'drink' => 'pepsi',
],
],
];
比方說,「食品」和「喝」的類別,他們可以根據調查問卷是如何設置不同。所以實際上可能有「食物」,「飲料」和「甜點」等。正如你所看到的,每個人都有一個陣列,每個類別。我想這樣做是每個人合併陣列從而使得這反而有以下顯示:
$array = [
0 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'john',
'lastname' => 'drake',
'food' => 'burger',
'drink' => 'coke', // Merged
],
],
1 => [
'[email protected]' => [
'email' => '[email protected]',
'firstname' => 'sam',
'lastname' => 'win',
'food' => 'pizza',
'drink' => 'pepsi', // Merged
],
],
];
我已經看過array_merge
以及array_merge_recursive
,但是從一切我讀過,你必須爲它們合併到指定數組,例如它必須是array_merge(array[0], array[1])
。正如你所看到的,我不能完全做到這一點,因爲每個人可能有2,3甚至4個陣列需要合併在一起。
那麼,如何動態地合併陣列的每個人,以便它一起顯示他們所有的信息?
簡單地遍歷它在一個環路,併產生結果 – Mojtaba