Tutorial PHP

RUMAH PHP Pengenalan PHP Instal PHP Sintaks PHP Komentar PHP Variabel PHP PHP Gema / Cetak Tipe Data PHP String PHP Nomor PHP PHP Matematika Konstanta PHP Operator PHP PHP Jika...Lain...Elseif Beralih PHP PHP Loop Fungsi PHP Array PHP PHP Superglobal PHP RegEx

Formulir PHP

Penanganan Formulir PHP Validasi Formulir PHP Diperlukan Formulir PHP URL/Email Formulir PHP Formulir PHP Lengkap

PHP Lanjutan

Tanggal dan Waktu PHP PHP Termasuk Penanganan File PHP File PHP Buka/Baca Membuat/Menulis File PHP Unggah File PHP Cookie PHP Sesi PHP Filter PHP Filter PHP Tingkat Lanjut Fungsi Panggilan Balik PHP PHP JSON Pengecualian PHP

PHP OOP

PHP Apa itu OOP Kelas/Objek PHP Konstruktor PHP Penghancur PHP Pengubah Akses PHP Warisan PHP Konstanta PHP Kelas Abstrak PHP Antarmuka PHP Ciri-ciri PHP Metode Statis PHP Properti Statis PHP Ruang Nama PHP PHP Iterable

Database MySQL

Database MySQL Koneksi MySQL MySQL Buat DB MySQL Buat Tabel MySQL Sisipkan Data MySQL Dapatkan ID Terakhir MySQL Sisipkan Beberapa MySQL Disiapkan MySQL Pilih Data MySQL Dimana MySQL Dipesan Oleh MySQL Hapus Data Data Pembaruan MySQL Data Batas MySQL

PHP XML

PHP XML Parser PHP SimpleXML Parser PHP SimpleXML - Dapatkan PHP XML Ekspat PHP XML DOM

PHP - AJAX

Pengenalan AJAX AJAX PHP Basis Data AJAX AJAX XML Pencarian Langsung AJAX Jajak Pendapat AJAX

Contoh PHP

Contoh PHP Kompilator PHP Kuis PHP Latihan PHP Sertifikat PHP

Referensi PHP

Ikhtisar PHP Array PHP Kalender PHP Tanggal PHP Direktori PHP Kesalahan PHP Pengecualian PHP Sistem File PHP Filter PHP PHP FTP PHP JSON Kata Kunci PHP PHP Libxml Surat PHP PHP Matematika PHP Lain-lain PHP MySQLi Jaringan PHP Kontrol Keluaran PHP PHP RegEx PHP SimpleXML Aliran PHP String PHP Penanganan Variabel PHP PHP XML Parser PHP Zip Zona Waktu PHP

PHP Iterable


PHP - Apa itu Iterable?

Iterable adalah nilai apa pun yang dapat diulang dengan foreach()loop.

Tipe iterablepseudo diperkenalkan di PHP 7.1, dan dapat digunakan sebagai tipe data untuk argumen fungsi dan nilai pengembalian fungsi.


PHP - Menggunakan Iterables

Kata iterablekunci dapat digunakan sebagai tipe data argumen fungsi atau sebagai tipe kembalian suatu fungsi:

Contoh

Gunakan argumen fungsi yang dapat diubah:

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

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

Contoh

Kembalikan yang dapat diubah:

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

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


PHP - Membuat Iterables

Array

Semua array adalah iterable, jadi array apa pun dapat digunakan sebagai argumen dari fungsi yang memerlukan iterable.

Iterator

Objek apa pun yang mengimplementasikan Iteratorantarmuka dapat digunakan sebagai argumen dari fungsi yang memerlukan iterable.

Iterator berisi daftar item dan menyediakan metode untuk mengulangnya. Itu membuat pointer ke salah satu elemen dalam daftar. Setiap item dalam daftar harus memiliki kunci yang dapat digunakan untuk menemukan item tersebut.

Iterator harus memiliki metode berikut:

  • current()- Mengembalikan elemen yang ditunjuk pointer saat ini. Ini bisa berupa tipe data apa saja
  • key()Mengembalikan kunci yang terkait dengan elemen saat ini dalam daftar. Itu hanya bisa berupa bilangan bulat, float, boolean, atau string
  • next()Memindahkan penunjuk ke elemen berikutnya dalam daftar
  • rewind()Memindahkan penunjuk ke elemen pertama dalam daftar
  • valid()Jika pointer internal tidak menunjuk ke elemen apa pun (misalnya, jika next() dipanggil di akhir daftar), ini akan menghasilkan false. Ini mengembalikan true dalam kasus lain

Contoh

Implementasikan antarmuka Iterator dan gunakan sebagai 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);
?>