foreach mit reference verändert array

Joah

Mitglied
Hi,
um Rechenleistung zu sparen möchte ich jedes Element in einem array per Referenz durchlaufen.
Dann muss keine Kopie angefertigt werden.
Was mich wunder ist warum nach dem Durchlaufen der Ursprungsarray verändert wurde.

PHP:
<?php
$arr = array(array());
var_dump($arr);
foreach ($arr as &$a) {};
var_dump($arr);

erzeugt folgende Ausgabe:
Code:
array(1) {
  [0]=>
  array(0) {
  }
}
array(1) {
  [0]=>
  &array(0) {
  }
}

Edit: okay habs man muss unset() aufrufen...
 
Zuletzt bearbeitet:

Neue Themen


Oben