Felix Riesterer: Eine Frage über deine Code..

Beitrag lesen

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.