each (each)
تابع each، «کلید (Key) و مقدار (Value)» عنصر جاری را برمی گرداند و سپس «اشاره گر داخلی (Internal Pointer)» را یک قدم جلو می برد. مثل این که کارت فعلی را بخوانی و بعد کارت بعدی بالا بیاید.
each چیست؟
each() چهار عضو برمی گرداند: کلید عددی 0 و متنی Key برای کلید، و کلید عددی 1 و متنی Value برای مقدار. اگر عنصر دیگری نباشد، مقدار FALSE برمی گردد.
هشدار: each() از نسخه 7.2 منسوخ است. بهتر است از foreach استفاده کنی.
مثال پایه: دریافت عنصر جاری و حرکت رو به جلو
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
print_r(each($people));
?>
نحوه نگارش (Syntax)
<?php
// each(array)
$pair = each($array);
?>
مثال با حلقه: چاپ همه اعضا
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
reset($people);
while (list($key, $val) = each($people)) {
echo $key . " => " . $val . "<br>";
}
?>
مثال ترکیبی: اشاره گر داخلی و each
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
echo current($people) . "<br>";
echo next($people) . "<br>";
echo current($people) . "<br>";
echo prev($people) . "<br>";
echo end($people) . "<br>";
echo prev($people) . "<br>";
echo current($people) . "<br>";
echo reset($people) . "<br>";
echo next($people) . "<br>";
print_r(each($people));
?>
نکات مهم
نکته: each() عنصر را می خواند و اشاره گر را جلو می برد.
نکته: برای عنصر فعلی از current() کمک بگیر.
نکته: برای حرکت، next() و prev() کاربردی اند.
نکته: برای ابتدا و انتها، reset() و end() را داشته باش.
گام های تمرین سریع
- یک آرایه ساده بساز.
- با each عنصر اول را بخوان.
- با حلقه while و each همه را چاپ کن.
جمع بندی سریع
- each کلید و مقدار جاری را می دهد.
- بعد، اشاره گر یک گام جلو می رود.
- در پایان آرایه، FALSE برمی گردد.
- از PHP 7.2 منسوخ شده است.
- جایگزین بهتر: حلقه foreach.