Aus dem Kurs: PHP: Funktionen
Einzelne Array-Elemente verändern – Tutorial zu PHP
Aus dem Kurs: PHP: Funktionen
Einzelne Array-Elemente verändern
Im PHP gibt es eigene Funktionen, um einzelne Elemente eines Arrays zu entfernen, oder Elemente zu ergänzen. Diese sehen wir uns an und außerdem beschäftigen wir uns mit dem wichtigen Konzept der Übergabe von Variablen als Referenz. Ich habe einen Array erstellt, mit dem Buchstaben von A bis E und das lasse ich hier einmal ausgeben. Dann verwende ich die Funktion Array_shift. Diese entfernt mir das erste Element eines Arrays Sie sehen mein Array besteht nur noch aus BCDE. Außerdem wird dieses Element, was entfernt wird zurückgeben, ich könnte das ausgeben lassen, das ist jetzt A. neben Array_shift Gibt es array_unshift, das macht sozusagen das umgekehrte. Indem es am Anfang ein Element hinzufügt. Im Beispiel lasse ich den Buchstaben Z hinzufügen. Schließlich gibt es auch so etwas wie array_pop, damit entfernen Sie das Element am Ende. Sie sehen das e isr nicht mehr da. Das entfernte Element wird zurückgegeben und Sie könnten damit wieder etwas machen. Die Besonderheit von diesen Funktionen, die wir uns gerade ansehen, ist folgende: Sie sehen ich wende dieses Array_shift Beispielsweise auf mein Array an und dadurch wird das Array selbst verändert. Ich übergebe das Array und das Array wird selbst verändert. Im PHP-Manual erkennen Sie dieses Verhalten daran, dass bei dem Parameter ein ampersand Zeichen steht. Also es steht Array, dann, das es eben ein Array erwartet und davor ein ampersand Zeichen und das bedeutet immer, dass eine Übergabe per Referenz stattfindet und bei einer Übergabe per Referenz, wird auch wirklich das Element verändert. Sehen wir uns den Unterschied zwischen den beiden Übergangsarten einmal bei einer selbst definierten Funktion an. Da funktioniert das nämlich ebenfalls. Ich habe eine Funktion definiert, die nennt sich verändern, erartet einen Parameter. Und diese Funktion inkriminiert den Parameter, das heißt der Wert wird um eins erhöht. Dann teste ich das einmal. Ich habe eine Variable C mit dem Wert zwei und C lasse ich einmal vor Funktionsruf ausgeben. Dann rufe ich meine Funktion auf und lass dann zieh nach dem Funktionsaufruf erneut ausgeben. Sehen wir uns das Ergebnis einmal an. Wie schaut das aus. Vor Funktionsaufruf ist C zwei und nach dem Funktionsaufruf ist C ebenfalls zwei. Das ist das normale Verhalten, das heißt, die Variable wird als Wert übergeben und nicht wirklich verändert außerhalb. Anders ist es, wenn wir die Übergabe per Referenz machen. Und das habe ich jetzt hier einmal vorbereitet. Folgendermaßen sieht das aus. Ich habe eine Funktion, die heißt 'verändern zwei' weil ich darf innerhalb einer Datei nicht zwei Funktionen mit demselben Namen haben. Sonst ist die Funktion identisch wie meine vorherige Funktion. Mit dem einzigen Unterschied, dass ich hier ein ampersand Zeichen geschrieben habe. Und dann mache ich das, was ich eben auch gemacht hatte: Ich lasse ausgeben vor dem Funktionsaufruf den Wert von C, dann übergebe ich C an diese Funktion und lass noch einmal nach dem Funktionsaufruf anzeigen welchen Wert C hat und da ich hier dieses ampersand Zeichen geschrieben habe, wird die Variable selbst verändert, Sie sehen C drei an dieser Stelle. Hier finden Sie die Unterschiede, zwischen den verschiedenen Übergangsarten, noch einmal zusammengefasst. Bei der Übergabe per Wert wird die Variable außerhalb nicht geändert. Bei der Übergabe per Referenz schreibt man dieses ampersand Zeichen vor dem Parameter und die Variable außerhalb wird verändert. Und dieses Verhalten gibt es beispielsweise auch bei vordefinierten Funktionen, wie array_shift. Im Film haben Sie eine Reihe von nützlichen Funktionen kennengelernt, um einzelne Elemente aus einem Array zu entfernen oder zu ergänzen, und das Besondere an diesen Funktionen ist, dass das Arrayy dabei auch wirklich selbst verändert wird.
Üben mit Projektdateien
Laden Sie die Dateien herunter, die von den Trainer:innen verwendet werden. So können Sie mitlesen und durch Ansehen, Zuhören und Üben lernen.
Inhalt
-
-
-
-
-
(Gesperrt)
Arrays definieren und ausgeben4 Min. 10 Sek.
-
Einzelne Array-Elemente verändern5 Min. 24 Sek.
-
(Gesperrt)
Ersten und letzten Schlüssel ermitteln3 Min. 36 Sek.
-
(Gesperrt)
Serialisieren1 Min. 35 Sek.
-
(Gesperrt)
Arrays sortieren3 Min. 21 Sek.
-
(Gesperrt)
Arrays Variablen zuweisen2 Min. 59 Sek.
-
(Gesperrt)
Arrays durchsuchen3 Min. 21 Sek.
-
(Gesperrt)
Funktionen für jedes Array-Element durchführen3 Min. 18 Sek.
-
(Gesperrt)
-