PHP Eğitimi

PHP ANA SAYFA PHP'ye Giriş PHP Kurulumu PHP Sözdizimi PHP Yorumları PHP Değişkenleri PHP Yankı / Yazdır PHP Veri Türleri PHP Dizeleri PHP Numaraları PHP Matematik PHP Sabitleri PHP Operatörleri PHP If...Else...Elseif PHP Anahtarı PHP Döngüleri PHP Fonksiyonları PHP Dizileri PHP Süper Küreseller PHP Normal İfade

PHP Formları

PHP Form İşleme PHP Form Doğrulama PHP Formu Gerekli PHP Formu URL/E-posta PHP Formu Tamamlandı

PHP Gelişmiş

PHP Tarih ve Saat PHP Dahil PHP Dosya İşleme PHP Dosyası Aç/Oku PHP Dosyası Oluştur/Yaz PHP Dosya Yükleme PHP Çerezleri PHP Oturumları PHP Filtreleri PHP Filtreleri Gelişmiş PHP Geri Çağırma İşlevleri PHP JSON'u PHP İstisnaları

PHP OOP

PHP OOP nedir PHP Sınıfları/Nesneleri PHP Oluşturucu PHP Yıkıcı PHP Erişim Değiştiricileri PHP Kalıtımı PHP Sabitleri PHP Soyut Sınıfları PHP Arayüzleri PHP Özellikleri PHP Statik Yöntemler PHP Statik Özellikler PHP Ad Alanları PHP Yinelenebilirler

MySQL Veritabanı

MySQL Veritabanı MySQL Bağlantısı MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Veri Ekle MySQL Son Kimliği Al MySQL Ekle Çoklu MySQL Hazırlandı MySQL Seçim Verisi MySQL Nerede MySQL Sıralaması MySQL Verileri Sil MySQL Güncelleme Verileri MySQL Sınır Verileri

PHP XML'i

PHP XML Ayrıştırıcıları PHP SimpleXML Ayrıştırıcı PHP SimpleXML - Al PHP XML Expat'ı PHP XML DOM'si

PHP - AJAX

AJAX'a Giriş AJAX PHP AJAX Veritabanı AJAX XML'i AJAX Canlı Arama AJAX Anketi

PHP Örnekleri

PHP Örnekleri PHP Derleyici PHP Testi PHP Alıştırmaları PHP Sertifikası

PHP Referansı

PHP'ye Genel Bakış PHP Dizisi PHP Takvimi PHP Tarihi PHP Dizini PHP Hatası PHP İstisnası PHP Dosya Sistemi PHP Filtresi PHP FTP'si PHP JSON'u PHP Anahtar Kelimeler PHP Libxml PHP Postası PHP Matematik PHP Çeşitli PHP MySQLi PHP Ağı PHP Çıkış Kontrolü PHP Normal İfade PHP SimpleXML PHP Akışı PHP Dizisi PHP Değişken İşleme PHP XML Ayrıştırıcı PHP Posta Kodu PHP Saat Dilimleri

PHP Yinelenebilirler


PHP - Yinelenebilir nedir?

Yinelenebilir, bir döngü ile döngülenebilen herhangi bir değerdir foreach().

Sözde iterabletür PHP 7.1'de tanıtıldı ve işlev argümanları ve işlev dönüş değerleri için bir veri türü olarak kullanılabilir.


PHP - Yinelenebilirleri Kullanma

Anahtar iterablesözcük, bir işlev bağımsız değişkeninin veri türü olarak veya bir işlevin dönüş türü olarak kullanılabilir:

Örnek

Yinelenebilir bir işlev argümanı kullanın:

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

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

Örnek

Yinelenebilir bir dönüş yapın:

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

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


PHP - Yinelenebilirler Oluşturma

diziler

Tüm diziler yinelenebilirdir, bu nedenle herhangi bir dizi yinelenebilir gerektiren bir işlevin argümanı olarak kullanılabilir.

yineleyiciler

Arabirimi uygulayan herhangi bir nesne, Iteratoryinelenebilir bir işlev gerektiren bir işlevin argümanı olarak kullanılabilir.

Bir yineleyici, bir öğe listesi içerir ve bunlar arasında dolaşmak için yöntemler sağlar. Listedeki öğelerden birine bir işaretçi tutar. Listedeki her öğe, öğeyi bulmak için kullanılabilecek bir anahtara sahip olmalıdır.

Bir yineleyici şu yöntemlere sahip olmalıdır:

  • current()- İşaretçinin o anda işaret ettiği öğeyi döndürür. Herhangi bir veri türü olabilir
  • key()Listedeki geçerli öğeyle ilişkili anahtarı döndürür. Yalnızca bir tamsayı, kayan nokta, boolean veya dize olabilir
  • next() İşaretçiyi listedeki bir sonraki öğeye taşır
  • rewind() İşaretçiyi listedeki ilk öğeye taşır
  • valid()Dahili işaretçi herhangi bir öğeye işaret etmiyorsa (örneğin, listenin sonunda next() çağrıldıysa), bu false döndürmelidir. Başka bir durumda true döndürür

Örnek

Yineleyici arabirimini uygulayın ve yinelenebilir olarak kullanın:

<?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);
?>