الفرق بين المراجعتين لصفحة: «PHP/each»
ط تغيير عنوان الصفحة |
ط نقل عبد اللطيف ايمش صفحة PHP/Function/each إلى PHP/each: إعادة هيكلة التوثيق |
||
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 6: | سطر 6: | ||
تحذير: أُلغيت هذه الدالة اعتبارًا من PHP 7.2.0. الاعتماد على هذه الدالة غير محبذ على الإطلاق. | تحذير: أُلغيت هذه الدالة اعتبارًا من PHP 7.2.0. الاعتماد على هذه الدالة غير محبذ على الإطلاق. | ||
= الوصف = | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
array each ( array &$array ) | array each ( array &$array ) | ||
</syntaxhighlight>تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام. | </syntaxhighlight>تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام. | ||
بعد تنفيذ الدالة <code>each()</code>، سيُترك مؤشر المصفوفة على العنصر التالي، أو بعد العنصر الأخير إذا كان قد وصل إلى نهاية المصفوفة. إذا كنت تريد المرور على المصفوفة مرة أخرى باستخدام <code>each()</code>، يجب عليك استخدام الدالة <code>[[PHP | بعد تنفيذ الدالة <code>each()</code>، سيُترك مؤشر المصفوفة على العنصر التالي، أو بعد العنصر الأخير إذا كان قد وصل إلى نهاية المصفوفة. إذا كنت تريد المرور على المصفوفة مرة أخرى باستخدام <code>each()</code>، يجب عليك استخدام الدالة <code>[[PHP/reset|reset()]]</code> أولًا. | ||
= المعاملات = | == المعاملات == | ||
=== <code>array</code> === | === <code>array</code> === | ||
المصفوفة المُدخَلة. | المصفوفة المُدخَلة. | ||
= القيم المعادة = | == القيم المعادة == | ||
تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من المصفوفة <code>array</code>. وتُعيد هذا الزوج على هيئة مصفوفة مكونة من أربعة عناصر، باستخدام المفاتيح 0 و 1 و key وvalue . تحتوي العناصر 0 و key على اسم المفتاح لعنصر المصفوفة، بينما تحتوي العناصر 1 وvalue على البيانات. | تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من المصفوفة <code>array</code>. وتُعيد هذا الزوج على هيئة مصفوفة مكونة من أربعة عناصر، باستخدام المفاتيح 0 و 1 و key وvalue . تحتوي العناصر 0 و key على اسم المفتاح لعنصر المصفوفة، بينما تحتوي العناصر 1 وvalue على البيانات. | ||
إذا تخطى المؤشر الداخلي نهاية محتويات المصفوفة، فستُعيد الدالة <code>each()</code> القيمة <code>FALSE</code>. | إذا تخطى المؤشر الداخلي نهاية محتويات المصفوفة، فستُعيد الدالة <code>each()</code> القيمة <code>FALSE</code>. | ||
= أمثلة = | == أمثلة == | ||
المثال 1: أمثلة على الدالة <code>each()</code><syntaxhighlight lang="php"> | المثال 1: أمثلة على الدالة <code>each()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
سطر 52: | سطر 52: | ||
[key] => Robert | [key] => Robert | ||
) | ) | ||
</syntaxhighlight>تستخدم الدالة <code>each()</code> عادة بالتزامن مع الدالة <code>[[PHP | </syntaxhighlight>تستخدم الدالة <code>each()</code> عادة بالتزامن مع الدالة <code>[[PHP/list|list()]]</code> للمرور بالمصفوفة، وإليك مثالٌ على ذلك: | ||
المثال 2: مثال على المرور بمصفوفة باستخدام الدالة <code>each()</code><syntaxhighlight lang="php"> | المثال 2: مثال على المرور بمصفوفة باستخدام الدالة <code>each()</code><syntaxhighlight lang="php"> | ||
سطر 71: | سطر 71: | ||
تحذير: تقبل الدالة <code>each()</code> أيضًا الكائنات، ولكن قد تعرض نتائج غير متوقعة. لذلك لا يُنصح بالمرور على خصائص الكائن مع الدالة <code>each()</code>. | تحذير: تقبل الدالة <code>each()</code> أيضًا الكائنات، ولكن قد تعرض نتائج غير متوقعة. لذلك لا يُنصح بالمرور على خصائص الكائن مع الدالة <code>each()</code>. | ||
= انظر أيضًا = | == انظر أيضًا == | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/key|key()]]</code>: جلب مفتاح من مصفوفة. | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/list|list()]]</code>: بتعيين المتغيرات كما لو كانت مصفوفة. | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/current|current()]]</code>: إعادة العنصر الحالي في مصفوفة. | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/reset|reset()]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى أول عنصر. | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/next|next()]]</code>: تحريك المؤشر الداخلي لمصفوفة إلى الأمام. | ||
* الدالة <code>[[PHP | * الدالة <code>[[PHP/prev|prev()]]</code>: إرجاع مؤشر المصفوفة الداخلي إلى الخلف. | ||
* حلقة <code>[[PHP | * حلقة <code>[[PHP/foreach|foreach]]</code>. | ||
* <code>[[PHP/ | * <code>[[PHP/object iteration|Object Iteration]]</code>. | ||
= مصادر = | == مصادر == | ||
* [http://php.net/manual/en/function.each.php صفحة الدالة each في توثيق PHP الرسمي]. | * [http://php.net/manual/en/function.each.php صفحة الدالة each في توثيق PHP الرسمي]. | ||
[[تصنيف:PHP]] | [[تصنيف:PHP]] | ||
[[تصنيف:PHP Function]] | [[تصنيف:PHP Function]] | ||
[[تصنيف:PHP Array]] | [[تصنيف:PHP Array]] |
المراجعة الحالية بتاريخ 03:49، 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
.