Menu
Coddy logo textTech

הסרה מתחילת המערך באמצעות 'array_shift'

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 13 מתוך 68.

הפונקציה array_shift() מסירה את האיבר הראשון ממערך ומחזירה את הערך שהוסר. זהו ההפך מ־array_unshift(), שמוסיפה איברים לתחילתו של מערך.

כך זה עובד:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // פלט: Alice
print_r($queue);    // פלט: Array ( [0] => Bob [1] => Charlie )
?>

שימו לב ש-array_shift() גם משנה את המערך המקורי וגם מחזירה את האיבר שהוסר. לאחר הסרת האיבר הראשון, כל האיברים שנותרו זזים אוטומטית מטה כדי למלא את המקום שהתפנה: "Bob" עובר מאינדקס 1 לאינדקס 0, ו-"Charlie" עובר מאינדקס 2 לאינדקס 1.

המספור מחדש הזה מתבצע אוטומטית ומבטיח שהמערך שלך שומר על רצף מספרי תקין. אם תשתמש ב־array_shift() על מערך ריק, הוא יחזיר null בלי לגרום לשגיאה.

הפונקציה הזאת שימושית במיוחד למימוש תורים, שבהם מעבדים פריטים בסדר של ״ראשון נכנס, ראשון יוצא״, כמו טיפול בלקוחות בתור או עיבוד משימות לפי סדר קבלתן.

challenge icon

אתגר

קל

תקבלו שתי קלטים: מערך התחלתי של לקוחות הממתינים בתור בפורמט JSON, ומספר המציין כמה לקוחות לשרת. קראו את שני הקלטים, המירו את מחרוזת ה-JSON למערך, השתמשו ב-array_shift() מספר הפעמים שצוין כדי להסיר את הלקוחות שקיבלו שירות מחזית התור, והדפיסו את המערך הסופי באמצעות print_r().

פורמט הקלט: שתי שורות - השורה הראשונה מכילה מערך JSON (לדוגמה: ["Alice","Bob","Charlie","Diana"]), השורה השנייה מכילה את מספר הלקוחות לשרת (מספר)

הפלט הצפוי: המערך לאחר הסרת הלקוחות שקיבלו שירות מחזית התור, מוצג באמצעות print_r()

נסו בעצמכם

<?php
// קראו את מערך ה-JSON של הלקוחות
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// קראו את מספר הלקוחות שיש לשרת
$numToServe = intval(fgets(STDIN));

// TODO: כתבו את הקוד שלכם למטה
// השתמשו ב-array_shift() כדי להסיר לקוחות מתחילת התור


// הציגו את המערך הסופי
print_r($customers);
?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר PHP אונליין