دروس PHP

PHP الرئيسية مقدمة PHP تثبيت PHP بناء جملة PHP تعليقات PHP متغيرات PHP PHP صدى / طباعة أنواع بيانات PHP سلاسل PHP أرقام PHP PHP الرياضيات ثوابت PHP مشغلي PHP PHP إذا ... آخر ... Elseif مفتاح PHP حلقات PHP وظائف PHP مصفوفات PHP PHP Superglobals PHP RegEx

نماذج PHP

معالجة نموذج PHP التحقق من صحة نموذج PHP نموذج PHP مطلوب نموذج PHP URL / البريد الإلكتروني اكتمل نموذج PHP

PHP متقدم

تاريخ ووقت PHP تضمين PHP معالجة ملفات PHP فتح / قراءة ملف PHP إنشاء / كتابة ملف PHP تحميل ملف PHP ملفات تعريف الارتباط PHP جلسات PHP مرشحات PHP مرشحات PHP متقدم وظائف رد الاتصال PHP PHP JSON استثناءات PHP

PHP OOP

PHP ما هو OOP فئات / كائنات PHP منشئ PHP مدمر PHP معدِّلات الوصول إلى PHP الوراثة PHP ثوابت PHP فئات مجردة PHP واجهات PHP سمات PHP طرق PHP الثابتة خصائص PHP الثابتة مساحات أسماء PHP PHP تكرارات

قاعدة بيانات MySQL

قاعدة بيانات MySQL اتصال MySQL إنشاء قاعدة بيانات MySQL إنشاء جدول MySQL MySQL إدراج البيانات MySQL الحصول على آخر معرف إدراج عدة MySQL تم تجهيز MySQL MySQL حدد البيانات MySQL أين ترتيب MySQL حسب MySQL حذف البيانات تحديث بيانات MySQL بيانات MySQL المحدودة

لغة PHP XML

موزعي PHP XML محلل PHP SimpleXML PHP SimpleXML - احصل على PHP XML Expat PHP XML DOM

PHP - أجاكس

مقدمة أجاكس أجاكس بي إتش بي قاعدة بيانات أجاكس AJAX XML بحث أجاكس لايف استطلاع أجاكس

أمثلة PHP

أمثلة PHP مترجم PHP اختبار PHP تمارين PHP شهادة PHP

مرجع PHP

نظرة عامة على PHP صفيف PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP استثناء PHP نظام ملفات PHP مرشح PHP PHP FTP PHP JSON كلمات PHP PHP Libxml PHP Mail PHP الرياضيات متفرقات PHP PHP MySQLi شبكة PHP التحكم في إخراج PHP PHP RegEx PHP SimpleXML PHP ستريم سلسلة PHP معالجة متغيرة PHP محلل PHP XML PHP Zip المناطق الزمنية PHP

PHP تكرارات


PHP - ما هو قابل للتكرار؟

المتكرر هو أي قيمة يمكن تكرارها باستخدام foreach()حلقة.

تم iterableتقديم النوع الزائف في PHP 7.1 ، ويمكن استخدامه كنوع بيانات لوسائط الدالة وقيم إرجاع الدالة.


PHP - استخدام المكرر

يمكن iterableاستخدام الكلمة الأساسية كنوع بيانات لوسيطة دالة أو كنوع إرجاع للدالة:

مثال

استخدم وسيطة دالة قابلة للتكرار:

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

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

مثال

إرجاع ما يمكن تكراره:

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

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


PHP - إنشاء الأشياء المتكررة

المصفوفات

جميع المصفوفات متكررة ، لذا يمكن استخدام أي مصفوفة كوسيطة لدالة تتطلب قابلية تكرارية.

التكرارات

يمكن استخدام أي كائن يقوم بتنفيذ Iteratorالواجهة كوسيطة لدالة تتطلب التكرار.

يحتوي المكرر على قائمة بالعناصر ويوفر طرقًا للتكرار من خلالها. يحتفظ بمؤشر إلى أحد العناصر الموجودة في القائمة. يجب أن يحتوي كل عنصر في القائمة على مفتاح يمكن استخدامه للعثور على العنصر.

يجب أن يحتوي المكرر على هذه الطرق:

  • current()- إرجاع العنصر الذي يشير إليه المؤشر حاليًا. يمكن أن يكون أي نوع من البيانات
  • key()إرجاع المفتاح المرتبط بالعنصر الحالي في القائمة. يمكن أن يكون فقط عددًا صحيحًا أو عددًا عائمًا أو منطقيًا أو سلسلة
  • next()ينقل المؤشر إلى العنصر التالي في القائمة
  • rewind()ينقل المؤشر إلى العنصر الأول في القائمة
  • valid()إذا كان المؤشر الداخلي لا يشير إلى أي عنصر (على سبيل المثال ، إذا تم استدعاء next () في نهاية القائمة) ، فيجب أن يؤدي هذا إلى إرجاع false. يعود صحيح في أي حالة أخرى

مثال

نفِّذ واجهة Iterator واستخدمها باعتبارها قابلة للتكرار:

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