Liebe(r) liebewinter,
Mit
$this -> arLinks = [];baut ein Leer Array um später mit array_push sich adderiert , wie hier sagt.....
richtig.
if ( isset( $arNewLinks['URL'] ) && isset( $arNewLinks['TEXT'] ) ) { array_push( $this -> arLinks, $arNewLinks ); return true; }hier wir geprüft ob die statements URL und Text vorhanden sein ,die vom dem Object $navListe -> addLinks abgeholt habe .
Das hast Du richtig verstanden. Allerdings sind URL und TEXT keine "statements", sondern Schlüssel (oder "keys"), unter deren Namen in einem Array ein Wert gespeichert sein soll:
$beispiel = array(
'URL' => 'https://selfhtml.org',
'TEXT' => 'SELFHTML'
);
isset($beispiel['URL']); // true
isset($beispiel['TEXT']); // true
isset($beispiel['Selfhtml']); // false, weil kein
// solcher Schlüssel in $beispiel existiert
Es wird in meinem Beispiel-Code auf die Existenz der Schlüssel URL, TEXT und Selfhtml geprüft.
Wenn ja , mit
array_push( $this -> arLinks, $arNewLinks );wird die Eingenschaft $arNewLinks auf der Array arLinks sich adderiert...
Fast richtig. Wenn ja, dann werden die Inhalte des Arrays mit dem Variablennamen $arNewLinks in dem Objekt (vom Typ NavigationLinkList) in dessen Eigenschaft $arLinks (vom Typ Array) gespeichert.
hier
if ( is_array ( $arNewLinks ) ) {wird gefragt ob $arNewLinks ein Array ist .
Richtig.
Mit
foreach ( $arNewLinks as $NewLink ) {iterieren der Array $arNewLinks .
Ja, es wird der Wert jedes Eintrags verarbeitet. Für die Verarbeitung wird er vorübergehend in der Variable $NewLink abgelegt.
Mit
if ( isset( $NewLink['URL'] ) && isset( $NewLink['TEXT'] ) ) {,prüft ob ob die statements URL und Text vorhanden sein.
Ob die Schlüssel existieren, ja.
Mit
array_push ( $this -> arLinks, $NewLink );adderiert der neue Element $NewLink an dem Array .
Ja, $this->arLinks, also die Objekteigenschaft arLinks bekommt das Array, das in $NewLink steht, als neuen Eintrag hinzugefügt.
Liebe Grüße,
Felix Riesterer.