वहाँ रिकर्सिवली सरणियों विलय, पीएचपी के 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