有沒有一種遞歸合併數組的方法,就像PHP的array_merge_recursive()
函數一樣,除了整數鍵被視爲與字符串鍵相同?整數鍵PHP的array_merge_recursive行爲
(這對於那些按鍵保持語法分析爲整數的過程中很重要的。)
例如:
$a = array(
'a' => array(1)
);
$b = array(
'a' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
將合併的"a"
鍵和輸出,符合市場預期,如下:
array(1) {
["a"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
然而,當使用鍵的整數(即使作爲一個字符串):
$a = array(
'123' => array(1)
);
$b = array(
'123' => array(2, 3)
);
var_dump(array_merge_recursive($a, $b));
array_merge_recursive()
將返回:
array(2) {
[0] => array(3) {
[0] => int(1)
}
[1] => array(2) {
[0] => int(2)
[1] => int(3)
}
}
取而代之的是求之不得的:
array(1) {
["123"] => array(3) {
[0] => int(1)
[1] => int(2)
[2] => int(3)
}
}
的思考?
雖然這是正確的,但感覺太過於人爲。爲什麼不是一個常規的循環呢? – Ezequiel 2012-07-24 12:48:30