我正在建立一个邮件系统,我的输入是阵列数组,我需要将它们组合成一个,我已根据电子邮件进行汇总。
输入示例:
array(2) {
[0]=>
array(15) {
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(6) "200122"
["email"]=>
string(21) "jon@gmail.com"
["content"]=>
string(34) "{"Notice":827,"co":3241,"Co":1555}"
}
[1]=>
array(15) {
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(6) "592024"
["email"]=>
string(21) "jon@gmail.com"
["content"]=>
string(97) "{"Co":388,"co":5564,"xml":2982,"CO":6,"Warning":1957,"warning":42,"Notice":13,"cO":9,"Connect":6}"
}
}
array(1) {
[0]=>
array(15) {
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(5) "19116"
["email"]=>
string(22) "kelly@gmail.com"
["content"]=>
string(8) "{"co":1}"
}
}
邮件功能的输入数组应如下所示:
array(1) {
[0]=>
array(15) {
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(6) "200122"
["email"]=>
string(21) "jon@gmail.com"
["content"]=>
string(34) "{"Notice":827,"co":3241,"Co":1555}"
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(6) "592024"
["email"]=>
string(21) "jon@gmail.com"
["content"]=>
string(97) " {"Co":388,"co":5564,"xml":2982,"CO":6,"Warning":1957,"warning":42,"Notice":13,"cO":9,"Conne ct":6}"
}
}
array(1) {
[0]=>
array(15) {
["enabled"]=>
string(1) "1"
["file_size_bytes"]=>
string(5) "19116"
["email"]=>
string(22) "kelly@gmail.com"
["content"]=>
string(8) "{"co":1}"
}
}
它的基本配偶是组合同一阵列中的两个数组 我怎样才能做到这一点?谢谢:))
答案 0 :(得分:1)
由于数组中的重复键在PHP中是不可能的,因此无法获得所需的结果。
e.g。
["content"] => string(34) "{"Notice":827,"co":3241,"Co":1555}"
将替换为
["content"] => string(97) "{"Co":388,"co":5564,"xml":2982,"CO":6,"Warning":1957,"warning":42,"Notice":13,"cO":9,"Connect":6}"
答案 1 :(得分:1)
您只需使用array_merge
功能即可完成此操作。
在他们的回答中,Maarten建议这是不可能的,因为重复的密钥会被覆盖。但是,这仅在键不是数字时发生。在上面的示例中,第一个数组的键为0和1,第二个数组的键仅为0.所有数字。
所以你需要做的就是:
array_merge($array1,$array2);