Chris©: Variablen von Funktion zurück übergeben

Beitrag lesen

Hallo Pjotre,

was spielt es für eine Rolle, was in den Variablen steht?

Das fragst Du uns? Ich dachte, es wäre Dir wichtig, was in den Variablen steht und wann der Inhalt verändert wird?

"Normale" Funktionsattribute werden als Kopie an die Funktion übergeben, Referenzen zeigen aber immer auf das Original. So die klassische Vorstellung, von der wir im PHP-Modell auch ausgehen können. Wie es von PHP wirklich intern geregelt wird, geht uns nichts an.

Das Original muss vor dem FunktionsAUFRUF vorhanden sein.
Lass Dir den Inhalt anzeigen.

ich kanns auch ganz schlicht machen:

Ich bitte sogar darum!

while ($test[5] != "12")
{
    beispiel ($test);
}

function beispiel (&$empfang)   ## hier war Dein Fehler

{
    $empfang[5]=($empfang[5]+1);
}

Wie bekomme ich jetzt meine "$empfang"-Variable wieder zurück gegeben zur "$test"-Variable?

So!
Es ist dieselbe Variable. Durch das '&' in der Deklaration vor dem '$empfang' hast Du PHP mitgeteilt, dass es bitte keine Kopie von $empfang anlegen soll und dann deren Adresse an die Funktion übergeben soll, sondern die Originaladresse der Variablen benutzen soll. Das nennt sich dann VAR (Variable Access Reference). Das &-Zeichen ist also das Zeichen für PHP, die originale Access Reference auf die Variable zu benutzen, und KEINE temporäre Kopie der Variablen anzulegen.

BITTE probiere es isoliert aus. Solche Snippets kann man dann wohlsortiert sammeln und hat immer was zum Nachschlagen, wenn man mal (wieder) die Orientierung verloren hat...

LG
Chris©