Habe nun der Dokumentation diese Funktion entnommen:
function merge($arr1,$arr2)
{
if(!is_array($arr1))
$arr1 = array();
if(!is_array($arr2))
$arr2 = array();
$keys1 = array_keys($arr1);
$keys2 = array_keys($arr2);
$keys = array_merge($keys1,$keys2);
$vals1 = array_values($arr1);
$vals2 = array_values($arr2);
$vals = array_merge($vals1,$vals2);
$ret = array();
foreach($keys as $key)
{
list($unused,$val) = each($vals);
$ret[$key] = $val;
}
return $ret;
}
Doch irgendwie scheint diese Funktion deutlich langsamer als array_merge zu arbeiten. Es lässt mir zwar die Index-Nummern bestehen, wie ich es benötige, aber dauert wesentlich länger.
für 1000 Items eines Arrays (1 dimensional):
array_merge => 2 sec
merge => 13 sec
Gibt es eine "optimierte" Version der Funktion, wobei eben die Indexe erhalten bleiben bei der Array-Zusammenführung? Oder wie könnte man die obige Funktion beschleunigen.
Leider hilft mir an diesem Punkt die Doku auch nicht weiter.
Gute Nacht