2016-04-26 2 views
-2

Ich habe eine allgemeine PHP-Frage. Ich habe ein Array von Größe, sagen wir mal Größe von 3. Und ich gebe es als eine Eingabe für eine Funktion in einer enthaltenen Datei. Also, kopiert es das Array (mehr Speicher) oder tatsächlich die Funktion, um es zu verweisen?PHP-Funktion erstellt neues Array (Daten) aus der Eingabe oder Verweise darauf?

$arr = array('a', 'b', 'c'); 
include(functions.php); //doSomething() resides here 
$result = doSomething($arr); 
+2

Sie davon ausgehen, kann es eine Kopie zu erstellen, es sei denn mit Et-Zeichen vorangestellt. – frz3993

+3

Kopiert, wenn Sie die Funktion arg nicht als Referenz '& $ arg' definieren. http://php.net/manual/en/functions.arguments.php – AbraCadaver

Antwort

1
$result = array('a', 'b', 'c'); 
include(functions.php); //doSomething() resides here 
doSomething($result); 

und definieren

function doSomething(&$result) {/* code */} 

Und nicht mehr Speicher ..