PHP handleiding

PHP TUIS PHP Inleiding PHP installeer PHP sintaksis PHP opmerkings PHP veranderlikes PHP Echo / Druk PHP datatipes PHP Strings PHP-nommers PHP Wiskunde PHP konstante PHP-operateurs PHP As...Anders...Elseif PHP skakelaar PHP-lusse PHP funksies PHP-skikkings PHP Superglobals PHP RegEx

PHP- vorms

PHP-vormhantering PHP-vorm validering PHP-vorm word vereis PHP-vorm URL/e-pos PHP-vorm voltooi

PHP Gevorderd

PHP datum en tyd PHP sluit in PHP-lêerhantering PHP-lêer oop/lees PHP-lêer skep/skryf PHP-lêer oplaai PHP-koekies PHP-sessies PHP filters PHP-filters Gevorderd PHP-terugbelfunksies PHP JSON PHP-uitsonderings

PHP OOP

PHP Wat is OOP PHP Klasse/Objekte PHP Konstrukteur PHP vernietiger PHP Toegangswysigers PHP erfenis PHP konstante PHP Abstrakte Klasse PHP-koppelvlakke PHP eienskappe PHP statiese metodes PHP Statiese Eienskappe PHP naamruimtes PHP Iterables

MySQL- databasis

MySQL-databasis MySQL Connect MySQL Skep DB MySQL Skep tabel MySQL Voeg data in MySQL Kry Laaste ID MySQL Voeg veelvuldige in MySQL voorberei MySQL Kies Data MySQL Waar MySQL Bestel deur MySQL verwyder data MySQL-opdateringsdata MySQL-limietdata

PHP XML

PHP XML-ontleders PHP SimpleXML-ontleder PHP SimpleXML - Kry PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX-databasis AJAX XML AJAX Live Search AJAX-peiling

PHP voorbeelde

PHP voorbeelde PHP samesteller PHP vasvra PHP Oefeninge PHP-sertifikaat

PHP- verwysing

PHP Oorsig PHP Skikking PHP-kalender PHP datum PHP gids PHP fout PHP-uitsondering PHP lêerstelsel PHP filter PHP FTP PHP JSON PHP sleutelwoorde PHP Libxml PHP-pos PHP Wiskunde PHP Diverse PHP MySQLi PHP-netwerk PHP-uitsetbeheer PHP RegEx PHP SimpleXML PHP-stroom PHP-string PHP veranderlike hantering PHP XML-ontleder PHP zip PHP Tydsones

PHP Iterables


PHP - Wat is 'n Iterable?

'n Herhaalbare is enige waarde wat met 'n foreach()lus deurgelus kan word.

Die iterablepseudo-tipe is in PHP 7.1 bekendgestel, en dit kan gebruik word as 'n datatipe vir funksie-argumente en funksie-terugstuurwaardes.


PHP - Gebruik Iterables

Die iterablesleutelwoord kan gebruik word as 'n datatipe van 'n funksie-argument of as die terugkeertipe van 'n funksie:

Voorbeeld

Gebruik 'n herhaalbare funksie-argument:

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

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

Voorbeeld

Gee 'n herhaalbare terug:

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

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


PHP - Skep Iterables

Skikkings

Alle skikkings is iterables, so enige skikking kan gebruik word as 'n argument van 'n funksie wat 'n iterable vereis.

Iterators

Enige voorwerp wat die Iteratorkoppelvlak implementeer kan gebruik word as 'n argument van 'n funksie wat 'n iterable vereis.

'n Iterator bevat 'n lys items en bied metodes om deur hulle te loop. Dit hou 'n wyser na een van die elemente in die lys. Elke item in die lys moet 'n sleutel hê wat gebruik kan word om die item te vind.

'n Iterator moet hierdie metodes hê:

  • current()- Wys die element waarna die wyser tans wys. Dit kan enige datatipe wees
  • key()Wys die sleutel wat met die huidige element in die lys geassosieer word. Dit kan slegs 'n heelgetal, vlot, boolean of string wees
  • next()Beweeg die wyser na die volgende element in die lys
  • rewind()Beweeg die wyser na die eerste element in die lys
  • valid()As die interne wyser nie na enige element wys nie (byvoorbeeld as next() aan die einde van die lys geroep is), behoort dit vals terug te gee. Dit keer waar in enige ander geval

Voorbeeld

Implementeer die Iterator-koppelvlak en gebruik dit as 'n 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);
?>