• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

PHP Iterables

Tranquillo

Grafiker™️ Developer✓ Development Yetkilisi·
Üyelik Tarihi
4 Ocak 2023
Konular
53
Mesajlar
132
MFC Puanı
1,620

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 iterable sö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:
<?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:
<?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, Iterator yinelenebilir 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 şu 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, boole 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:
<?php

class Turkmmo  implements Iterator {
  private $items = [];
  private $pointer = 0;

  public function __construct($items) {
 
    $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() {
 
    return $this->pointer < count($this->items);
  }
}


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


$iterator = new MyIterator(["a", "b", "c"]);
printIterable($iterator);
?>
 
Son düzenleme:
Üst