الفرق بين المراجعتين ل"PHP/each"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'PHP/OOP/iterations' ب'PHP/object iteration')
ط (استبدال النص - 'PHP\/Function\/([^|]*)' ب'PHP/$1')
سطر 11: سطر 11:
 
</syntaxhighlight>تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام.
 
</syntaxhighlight>تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام.
  
بعد تنفيذ الدالة <code>each()</code>‎، سيُترك مؤشر المصفوفة على العنصر التالي، أو بعد العنصر الأخير إذا كان قد وصل إلى نهاية المصفوفة. إذا كنت تريد المرور على المصفوفة مرة أخرى باستخدام <code>each()‎</code>، يجب عليك استخدام الدالة <code>[[PHP/Function/reset|reset()‎]]</code> أولًا.
+
بعد تنفيذ الدالة <code>each()</code>‎، سيُترك مؤشر المصفوفة على العنصر التالي، أو بعد العنصر الأخير إذا كان قد وصل إلى نهاية المصفوفة. إذا كنت تريد المرور على المصفوفة مرة أخرى باستخدام <code>each()‎</code>، يجب عليك استخدام الدالة <code>[[PHP/reset|reset()‎]]</code> أولًا.
  
 
== المعاملات ==
 
== المعاملات ==
سطر 52: سطر 52:
 
     [key] => Robert
 
     [key] => Robert
 
)
 
)
</syntaxhighlight>تستخدم الدالة <code>each()‎</code> عادة بالتزامن مع الدالة <code>[[PHP/Function/list|list()‎]]</code> للمرور بالمصفوفة، وإليك مثالٌ على ذلك:
+
</syntaxhighlight>تستخدم الدالة <code>each()‎</code> عادة بالتزامن مع الدالة <code>[[PHP/list|list()‎]]</code> للمرور بالمصفوفة، وإليك مثالٌ على ذلك:
  
 
المثال 2: مثال على المرور بمصفوفة باستخدام الدالة <code>each()‎</code><syntaxhighlight lang="php">
 
المثال 2: مثال على المرور بمصفوفة باستخدام الدالة <code>each()‎</code><syntaxhighlight lang="php">
سطر 72: سطر 72:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة <code>[[PHP/Function/key|key()‎]]</code>: جلب مفتاح من مصفوفة.
+
* الدالة <code>[[PHP/key|key()‎]]</code>: جلب مفتاح من مصفوفة.
* الدالة <code>[[PHP/Function/list|list()‎]]</code>: بتعيين المتغيرات كما لو كانت مصفوفة.
+
* الدالة <code>[[PHP/list|list()‎]]</code>: بتعيين المتغيرات كما لو كانت مصفوفة.
 
* الدالة <code>[[PHP/current|current()‎]]</code>: إعادة العنصر الحالي في مصفوفة.
 
* الدالة <code>[[PHP/current|current()‎]]</code>: إعادة العنصر الحالي في مصفوفة.
* الدالة <code>[[PHP/Function/reset|reset()‎]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى أول عنصر.
+
* الدالة <code>[[PHP/reset|reset()‎]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى أول عنصر.
* الدالة <code>[[PHP/Function/next|next()‎]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى الأمام.
+
* الدالة <code>[[PHP/next|next()‎]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى الأمام.
* الدالة <code>[[PHP/Function/prev|prev()]]</code>‎: إرجاع مؤشر المصفوفة الداخلي إلى الخلف.
+
* الدالة <code>[[PHP/prev|prev()]]</code>‎: إرجاع مؤشر المصفوفة الداخلي إلى الخلف.
* حلقة <code>[[PHP/Function/foreach|foreach]]</code>.
+
* حلقة <code>[[PHP/foreach|foreach]]</code>.
 
* <code>[[PHP/object iteration|Object Iteration]]</code>.
 
* <code>[[PHP/object iteration|Object Iteration]]</code>.
  

مراجعة 03:42، 4 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تُعيد الدالة each()‎ كلًا من المفتاح والقيمة المقابلة الحاليين من المصفوفة وتُحرك مؤشرها للأمام.

تحذير: أُلغيت هذه الدالة اعتبارًا من PHP 7.2.0. الاعتماد على هذه الدالة غير محبذ على الإطلاق.

الوصف

array each ( array &$array )

تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام.

بعد تنفيذ الدالة each()‎، سيُترك مؤشر المصفوفة على العنصر التالي، أو بعد العنصر الأخير إذا كان قد وصل إلى نهاية المصفوفة. إذا كنت تريد المرور على المصفوفة مرة أخرى باستخدام each()‎، يجب عليك استخدام الدالة reset()‎ أولًا.

المعاملات

array

المصفوفة المُدخَلة.

القيم المعادة

تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من المصفوفة array. وتُعيد هذا الزوج على هيئة مصفوفة مكونة من أربعة عناصر، باستخدام المفاتيح 0 و 1 و key وvalue . تحتوي العناصر 0 و key على اسم المفتاح لعنصر المصفوفة، بينما تحتوي العناصر 1 وvalue على البيانات.

إذا تخطى المؤشر الداخلي نهاية محتويات المصفوفة، فستُعيد الدالة each()‎ القيمة FALSE.

أمثلة

المثال 1: أمثلة على الدالة each()‎

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

يحتوي المتغير bar$ الآن على أزواج المفاتيح والقيم التالية:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

يحتوي المتغير bar$ الآن على أزواج المفاتيح والقيم التالية:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

تستخدم الدالة each()‎ عادة بالتزامن مع الدالة list()‎ للمرور بالمصفوفة، وإليك مثالٌ على ذلك: المثال 2: مثال على المرور بمصفوفة باستخدام الدالة each()‎

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

a => apple
b => banana
c => cranberry

تنبيه: نظرًا لأن تعيين مصفوفة إلى متغير آخر يعيد تعيين مؤشر المصفوفة الأصلي، فإن المثال السابق قد يتسبب في حدوث حلقة لا نهائية لو قمنا بتعيين fruit$ إلى متغير آخر داخل الحلقة.

تحذير: تقبل الدالة each()‎ أيضًا الكائنات، ولكن قد تعرض نتائج غير متوقعة. لذلك لا يُنصح بالمرور على خصائص الكائن مع الدالة each()‎.

انظر أيضًا

  • الدالة key()‎: جلب مفتاح من مصفوفة.
  • الدالة list()‎: بتعيين المتغيرات كما لو كانت مصفوفة.
  • الدالة current()‎: إعادة العنصر الحالي في مصفوفة.
  • الدالة reset()‎: تحريك المؤشر الداخلي لمصفوفة إلى أول عنصر.
  • الدالة next()‎: تحريك المؤشر الداخلي لمصفوفة إلى الأمام.
  • الدالة prev()‎: إرجاع مؤشر المصفوفة الداخلي إلى الخلف.
  • حلقة foreach.
  • Object Iteration.

مصادر