Menu
Coddy logo textTech

חיפוש מפתחות באמצעות 'array_search'

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

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

כך זה עובד:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // פלט: 2
?>

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

עם זאת, יש הבחנה חשובה במה שמוחזר. אם הערך נמצא, מקבלים את המפתח. אם הערך לא נמצא, הפונקציה מחזירה false:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // מחזיר: 2
$notFound = array_search(100, $scores); // מחזיר: false
?>

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

challenge icon

אתגר

קל

תקבלו שתי קלטים: מערך של שמות מוצרים בפורמט JSON ושם של מוצר לחיפוש. קראו את שני הקלטים, המירו את מחרוזת ה-JSON למערך, השתמשו ב-array_search() כדי למצוא את מיקום המוצר במערך, והדפיסו את התוצאה. אם המוצר נמצא, הדפיסו את מיקום האינדקס שלו. אם המוצר לא נמצא, הדפיסו "Product not found".

פורמט הקלט: שתי שורות - בשורה הראשונה מופיע מערך JSON (לדוגמה: ["laptop","mouse","keyboard","monitor"]), ובשורה השנייה מופיע שם המוצר לחיפוש

הפלט הצפוי: מיקום האינדקס המספרי של המוצר (החל מ-0), או הטקסט "Product not found" אם המוצר לא קיים במערך

נסו בעצמכם

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

// קראו את שם המוצר שיש לחפש
$searchProduct = trim(fgets(STDIN));

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


// הציגו את התוצאה
echo $result;
?>
quiz iconבחנו את עצמכם

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

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

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