האופרטור
()Each
לשם מעבר איטרטיבי על כל הזוגות במערך האסוציאטיבי ניתן להשתמש ב
()Keys
בתוך לולאת
Foreach
וכך לעבור על כל המערך האסוציאטיבי ולשלוף לכל מפתח נוכחי את ערכו הרלוונטי.
ישנה דרך נוספת, יעילה יותר, לעשות זאת:
על ידי האופרטור
(Each
(
%
array_name
אשר מחזיר זוג של מפתח וערך, כרשימה עם 2 אלמנטים. בכל צעד יוחזר הזוג הבא עד אשר נעבור על כל האלמנטים. כשייגמרו האלמנטים תוחזר הרשימה הריקה.
לדוגמא - לשם מעבר צעד אחר צעד על מערך ה
%
last_name
מהדוגמא הקודמת, נעשה:
while ((
$first,
$last) =
each (%
last_name))
{
print "The last name of $first is $last\n";
}
בכל צעד תבוצע השמה של הזוג הנוכחי ברשימה עם 2 האלמנטים שלנו.
השמת זוג חדש למערך תאתחל את ה -
each
להתחלת המערך האסוציאטיבי והוא יחזיר את כל הזוגות מההתחלה.
הוספה ומחיקה של אלמנטים רק תבלבל את ה -
Each
ואותנו, לכן פעולה זו לא מומלצת.
להוספת תגובה, אנא התחברו לדרכונט.