Ben farklı parametreler ile birkaç kez çalıştırdığınızda bir sorgu var. Ben jQuery sonuçlarını döndürmek için bir xml ayrıştırıcı kullanıyorum.
Ben ilk girdisi yazmadan ilk 'düğüm' üzerindeki sonuçlarını birleştirmek için bir yol bulmak gibi olamaz.
Basitleştirilmiş kod örneği:
$temp1 = returnArray(0);
$temp2 = returnArray(1);
$data = array_merge($temp1, $temp2);
print_r($data);
function returnArray($switch)
{
if($switch == 0)
{
$data['data']['first'] = "something";
} else {
$data['data']['second'] = "something ELSE";
}
return $data;
}
Array ( [data] => Array ( [second] => something ELSE ) )
dışarı baskı sonuçları - $ ısı2 $ Temp1 üzerine.Yapıyor. Ben bu bana kafa karıştırıcı array_merge varsayılan davranış (), diye anlıyorum.
Ben de $data = $temp1+$temp2;
ya da benzeri bir şey yapıyor denedim ...
$data = returnArray(0);
$data += returnArray(1);
baskılar Array ( [data] => Array ( [first] => something ) )
veya ...
$data = returnArray(0);
$data .= returnArray(1);
print_r($data);
baskılar ArrayArray
Ben birlikte bu hack sona erdi:
$data['data'] = returnArray(0);
$data['data'] = returnArray(1);
function returnArray($switch){
if($switch == 0) return Array('first' => 'something');
else return Array('second' => 'something else');
}
Hangi ben tüm bu mutlu değilim ... bu durumda yapılan iş alır rağmen daha karmaşık bir durum meydana geldiğinde, bunun gelecekte tüm bu geçerli olmayacaktır.
Is there a better way to take two associative, multi-dimensional arrays and combine them without overwriting?
EDIT:
Ben yöntemi, yeniden genişletilebilir olması ve 2 + boyutları ile 2 + dizileri idare edebilmek istiyorum.