PHP - kopiowanie tablicy z elementami mającymi referencje

Witam Mam następujący problem:

$a = 5;
$b = 10;
$tab1 = array(& $a, & $b);
$tab2 = $tab1; // kluczowa linia
$tab1[0]=-1;
print_r($tab1);
print_r($tab2);

Gdy kopiuje dwie tablice to elementy które posiadają referencje nie są kopiowane normalnie ale przez referencje. Dlatego też jak zmieniam element w tab1 to automatycznie zmienia się on w tab2. Rozwiązałem w sumie już ten problem w ten sposób:

foreach($tab1 as $k => $val) $tab2[$k] = $val;

ale w przypadku dużych tablic będzie spowalniać to skrypt. Ciekaw jestem czy jest jakaś wbudowana funkcja która przekopiuje elementy za mnie?

1 rok, 9 miesięcy temu | edytowane przez: lqc 3965112

Zaloguj się, aby dodać swoją odpowiedź