PHP -Tutorial

PHP-HOME PHP-Einführung PHP-Installation PHP-Syntax PHP-Kommentare PHP-Variablen PHP-Echo / Drucken PHP-Datentypen PHP-Strings PHP-Nummern PHP-Mathematik PHP-Konstanten PHP-Operatoren PHP If...Else...Elseif PHP-Schalter PHP-Schleifen PHP-Funktionen PHP-Arrays PHP-Superglobals PHP-RegEx

PHP -Formulare

Handhabung von PHP-Formularen PHP-Formularvalidierung PHP-Formular erforderlich PHP-Formular-URL/E-Mail PHP-Formular vollständig

PHP- Erweitert

PHP-Datum und -Zeit PHP einschließen Umgang mit PHP-Dateien PHP-Datei öffnen/lesen PHP-Datei erstellen/schreiben Hochladen von PHP-Dateien PHP-Cookies PHP-Sitzungen PHP-Filter PHP-Filter für Fortgeschrittene PHP-Callback-Funktionen PHP-JSON PHP-Ausnahmen

PHP -OOP

PHP Was ist OOP PHP-Klassen/Objekte PHP-Konstruktor PHP-Destruktor PHP-Zugriffsmodifikatoren PHP-Vererbung PHP-Konstanten Abstrakte PHP-Klassen PHP-Schnittstellen PHP-Eigenschaften Statische PHP-Methoden Statische PHP-Eigenschaften PHP-Namespaces PHP-Iterables

MySQL- Datenbank

MySQL-Datenbank MySQL Connect MySQL-DB erstellen MySQL-Tabelle erstellen MySQL-Daten einfügen MySQL Letzte ID abrufen MySQL Mehrfach einfügen MySQL vorbereitet MySQL Select-Daten MySQL-Wo MySQL-Reihenfolge nach MySQL-Daten löschen MySQL-Update-Daten MySQL-Limit-Daten

PHP- XML

PHP-XML-Parser PHP-SimpleXML-Parser PHP SimpleXML - Get PHP-XML-Expat PHP-XML-DOM

PHP -AJAX

AJAX-Einführung AJAX-PHP AJAX-Datenbank AJAX-XML AJAX Live-Suche AJAX-Umfrage

PHP- Beispiele

PHP-Beispiele PHP-Compiler PHP-Quiz PHP-Übungen PHP-Zertifikat

PHP- Referenz

PHP-Übersicht PHP-Array PHP-Kalender PHP-Datum PHP-Verzeichnis PHP-Fehler PHP-Ausnahme PHP-Dateisystem PHP-Filter PHP-FTP PHP-JSON PHP-Schlüsselwörter PHP-Libxml PHP-Mail PHP-Mathematik PHP-Sonstiges PHP MySQLi PHP-Netzwerk PHP-Ausgabesteuerung PHP-RegEx PHP-SimpleXML PHP-Stream PHP-String Umgang mit PHP-Variablen PHP-XML-Parser PHP-Zip PHP-Zeitzonen

PHP-Iterables


PHP - Was ist ein Iterable?

Ein Iterable ist ein beliebiger Wert, der mit einer foreach()Schleife durchlaufen werden kann.

Der iterablePseudotyp wurde in PHP 7.1 eingeführt und kann als Datentyp für Funktionsargumente und Funktionsrückgabewerte verwendet werden.


PHP - Verwendung von Iterables

Das iterableSchlüsselwort kann als Datentyp eines Funktionsarguments oder als Rückgabetyp einer Funktion verwendet werden:

Beispiel

Verwenden Sie ein iterierbares Funktionsargument:

<?php
function printIterable(iterable $myIterable) {
  foreach($myIterable as $item) {
    echo $item;
  }
}

$arr = ["a", "b", "c"];
printIterable($arr);
?>

Beispiel

Geben Sie ein Iterable zurück:

<?php
function getIterable():iterable {
  return ["a", "b", "c"];
}

$myIterable = getIterable();
foreach($myIterable as $item) {
  echo $item;
}
?>


PHP - Erstellen von Iterables

Arrays

Alle Arrays sind Iterables, sodass jedes Array als Argument einer Funktion verwendet werden kann, die ein Iterable erfordert.

Iteratoren

Jedes Objekt, das die IteratorSchnittstelle implementiert, kann als Argument einer Funktion verwendet werden, die ein Iterable erfordert.

Ein Iterator enthält eine Liste von Elementen und stellt Methoden bereit, um sie zu durchlaufen. Es hält einen Zeiger auf eines der Elemente in der Liste. Jedes Element in der Liste sollte einen Schlüssel haben, der verwendet werden kann, um das Element zu finden.

Ein Iterator muss diese Methoden haben:

  • current()- Gibt das Element zurück, auf das der Zeiger gerade zeigt. Es kann ein beliebiger Datentyp sein
  • key()Gibt den Schlüssel zurück, der dem aktuellen Element in der Liste zugeordnet ist. Es kann nur ein Integer, Float, Boolean oder String sein
  • next()Bewegt den Zeiger zum nächsten Element in der Liste
  • rewind()Bewegt den Zeiger zum ersten Element in der Liste
  • valid()Wenn der interne Zeiger auf kein Element zeigt (zum Beispiel, wenn next() am Ende der Liste aufgerufen wurde), sollte dies false zurückgeben. In allen anderen Fällen wird true zurückgegeben

Beispiel

Implementieren Sie die Iterator-Schnittstelle und verwenden Sie sie als Iterable:

<?php
// Create an Iterator
class MyIterator implements Iterator {
  private $items = [];
  private $pointer = 0;

  public function __construct($items) {
    // array_values() makes sure that the keys are numbers
    $this->items = array_values($items);
  }

  public function current() {
    return $this->items[$this->pointer];
  }

  public function key() {
    return $this->pointer;
  }

  public function next() {
    $this->pointer++;
  }

  public function rewind() {
    $this->pointer = 0;
  }

  public function valid() {
    // count() indicates how many items are in the list
    return $this->pointer < count($this->items);
  }
}

// A function that uses iterables
function printIterable(iterable $myIterable) {
  foreach($myIterable as $item) {
    echo $item;
  }
}

// Use the iterator as an iterable
$iterator = new MyIterator(["a", "b", "c"]);
printIterable($iterator);
?>