الفرق بين المراجعتين لصفحة: «PHP/each»
Khaled-yassin (نقاش | مساهمات) أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:<code>end()</code>}}</noinclude> (PHP 4, PHP 5, PHP 7) تحرك الدالة <code>end()</code> المؤشر الداخلي للمصفوف...' |
ط نقل عبد اللطيف ايمش صفحة PHP/Function/each إلى PHP/each: إعادة هيكلة التوثيق |
||
(7 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:<code> | <noinclude>{{DISPLAYTITLE:الدالة <code>each()</code> في PHP}}</noinclude> | ||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تُعيد الدالة <code>each()</code> كلًا من المفتاح والقيمة المقابلة الحاليين من المصفوفة وتُحرك مؤشرها للأمام. | |||
= الوصف = | تحذير: أُلغيت هذه الدالة اعتبارًا من PHP 7.2.0. الاعتماد على هذه الدالة غير محبذ على الإطلاق. | ||
== الوصف == | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
array each ( array &$array ) | |||
</syntaxhighlight> | </syntaxhighlight>تُعيد هذه الدالة كلًا من المفتاح والقيمة الحاليْيَن من مصفوفة وتُحرك مؤشر المصفوفة للأمام. | ||
بعد تنفيذ الدالة <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>each()</code> القيمة <code>FALSE</code>. | |||
= أمثلة = | == أمثلة == | ||
المثال 1: | المثال 1: أمثلة على الدالة <code>each()</code><syntaxhighlight lang="php"> | ||
<?php | |||
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese"); | |||
$bar = each($foo); | |||
print_r($bar); | |||
?> | |||
</syntaxhighlight>يحتوي المتغير <code>bar$</code> الآن على أزواج المفاتيح والقيم التالية:<syntaxhighlight lang="php"> | |||
Array | |||
( | |||
[1] => bob | |||
[value] => bob | |||
[0] => 0 | |||
[key] => 0 | |||
) | |||
</syntaxhighlight><syntaxhighlight lang="php"> | |||
<?php | <?php | ||
$foo = array("Robert" => "Bob", "Seppo" => "Sepi"); | |||
$bar = each($foo); | |||
print_r($bar); | |||
?> | |||
</syntaxhighlight>يحتوي المتغير <code>bar$</code> الآن على أزواج المفاتيح والقيم التالية:<syntaxhighlight lang="php"> | |||
Array | |||
( | |||
[1] => Bob | |||
[value] => Bob | |||
[0] => Robert | |||
[key] => Robert | |||
) | |||
</syntaxhighlight>تستخدم الدالة <code>each()</code> عادة بالتزامن مع الدالة <code>[[PHP/list|list()]]</code> للمرور بالمصفوفة، وإليك مثالٌ على ذلك: | |||
$ | المثال 2: مثال على المرور بمصفوفة باستخدام الدالة <code>each()</code><syntaxhighlight lang="php"> | ||
<?php | |||
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); | |||
reset($fruit); | |||
while (list($key, $val) = each($fruit)) { | |||
echo "$key => $val\n"; | |||
} | |||
?> | ?> | ||
</syntaxhighlight> | </syntaxhighlight>سوف تكون مُخرجات المثال أعلاه كالتالي:<syntaxhighlight lang="php"> | ||
a => apple | |||
b => banana | |||
c => cranberry | |||
</syntaxhighlight>تنبيه: نظرًا لأن تعيين مصفوفة إلى متغير آخر يعيد تعيين مؤشر المصفوفة الأصلي، فإن المثال السابق قد يتسبب في حدوث حلقة لا نهائية لو قمنا بتعيين <code>fruit$</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/prev|prev()]]</code>: إرجاع مؤشر المصفوفة الداخلي إلى الخلف. | |||
* حلقة <code>[[PHP/foreach|foreach]]</code>. | |||
* <code>[[PHP/object iteration|Object Iteration]]</code>. | |||
= مصادر = | == مصادر == | ||
* [http://php.net/manual/en/function. | * [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
.