מיזוג מערכים ממוספרים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 14 מתוך 68.
כשצריך לשלב כמה מערכים ממוספרים למערך גדול יותר, הפונקציה array_merge() של PHP מספקת פתרון מושלם. הפונקציה מקבלת שני מערכים או יותר כארגומנטים ויוצרת מערך חדש שמכיל את כל האיברים מהמערכים שהוזנו.
התחביר הבסיסי הוא:
<?php
$firstList = ["Alice", "Bob"];
$secondList = ["Charlie", "Diana"];
$combined = array_merge($firstList, $secondList);
print_r($combined); // פלט: Array ( [0] => Alice [1] => Bob [2] => Charlie [3] => Diana )
?>שימו לב ש-array_merge() יוצרת מערך חדש לחלוטין במקום לשנות את המערכים המקוריים. האיברים מהמערך הראשון מופיעים תחילה, אחריהם האיברים מהמערך השני, וכן הלאה. האינדקסים של המערך החדש ממוספרים מחדש באופן אוטומטי החל מ-0.
אפשר למזג יותר משני מערכים בו-זמנית:
<?php
$morning = ["John", "Sarah"];
$afternoon = ["Mike", "Lisa"];
$evening = ["Tom"];
$allGuests = array_merge($morning, $afternoon, $evening);
print_r($allGuests); // פלט: Array ( [0] => John [1] => Sarah [2] => Mike [3] => Lisa [4] => Tom )
?>הפונקציה הזאת שימושית במיוחד כשאתה אוסף נתונים ממקורות שונים וצריך לשלב אותם ברשימה אחת, למשל למזג רשימות אורחים מאירועים שונים או לשלב קטלוגים של מוצרים מכמה קטגוריות.
אתגר
קלתקבלו שלוש קלטים: שני מערכים בפורמט JSON ומערך שלישי גם הוא בפורמט JSON. קראו את שלושת הקלטים, המירו כל מחרוזת JSON למערך, השתמשו ב־array_merge() כדי למזג את כל שלושת המערכים למערך אחד, והדפיסו את המערך הממוזג באמצעות print_r().
פורמט הקלט: שלוש שורות - כל שורה מכילה מערך JSON (לדוגמה: ["apple","banana"])
הפלט הצפוי: המערך הממוזג שמכיל את כל האיברים משלושת המערכים לפי הסדר, מוצג באמצעות print_r()
נסו בעצמכם
<?php
// קראו את שלושת קלטי ה-JSON
$input1 = trim(fgets(STDIN));
$input2 = trim(fgets(STDIN));
$input3 = trim(fgets(STDIN));
// המירו מחרוזות JSON למערכים
$array1 = (array)json_decode($input1, true);
$array2 = (array)json_decode($input2, true);
$array3 = (array)json_decode($input3, true);
// TODO: כתבו את הקוד שלכם להלן כדי למזג את המערכים ולהדפיס את התוצאה
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין