אתה נמצא כאן יסודות השפה  »  מערכים אסוציאטיביים  »  אופרטורים  »  האופרטור ()each

האופרטור ()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 ואותנו, לכן פעולה זו לא מומלצת.









להוספת תגובה, אנא התחברו לדרכונט.