נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

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

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

מערכים של PHP

מחבר:
בתאריך:

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

$names = array("Moshe", "Shlomo", "Gavriel");

 

מערך מבוסס אינדקס

 

המערך הפשוט ביותר הוא מערך מבוסס אינדקס, וזה המבנה שלו.

$שם_המערך = array("פריט_3", "פריט_2", "פריט_1");

 

אפשר להוסיף למערך כמה פריטים שרוצים.

כדי לגשת לפריטים נשתמש במספר האינדקס, כשהפריט הראשון מוגדר כאינדקס 0, הפריט השני הוא אינדקס 1, השלישי אינדקס 2, וכן הלאה...

לדוגמה, כך נדפיס את הפריט הראשון למסך:

echo $names[0];

והתוצאה:

Mofshe

 

ואם רוצים להדפיס את הפריט השלישי:

echo $names[2];

התוצאה:

Gavriel

 

מערכים מכילים מפתחות וערכים

הרעיון שעומד מאחורי מערכים הוא הרעיון של מפתחות (keys) וערכים (values). כותבים את זה כך:

ערך  <= מפתח

זו צורתו המפורשת של המערך. כדי לראות את המערך בצורתו המפורשת נוהגים להשתמש ב-print_r(). לדוגמה:

echo "<pre>";
  print_r($names);
echo "</pre>";

שימו לב שאנחנו תוחמים את print_r() בין תגיות <pre> כדי שיוצג בצורה קריאה. זו התוצאה:

Array
(
    [0] => Moshe
    [1] => Shlomo
    [2] => Gavriel
)

 

הוספת פריט למערך

הוספת פריט למערך נעשית באופן הבא, בלי צורך לציין את מספר האינדקס:

$names[] = "David";

 

בדרך זו ניתן להוסיף כמה פריטים שרוצים:

$names[] = "Haim";
$names[] = "Itzik";

עכשיו נשתמש ב- print_r($names) כדי להדפיס את המערך בצורתו המפורשת, וזו התוצאה:

Array
(
  [0] => Moshe
  [1] => Shlomo
  [2] => Gavriel
  [3] => David
  [4] => Haim
  [5] => Itzik
)

 

שינוי פריט במערך

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

$names[1] = "Yigal";

 

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

echo $names[1];

והתוצאה:

Yigal

 

מחיקת פריטים ומערכים

מחיקת פריטים ומערכים נעשית באמצעות ()unset.

נשתמש ב-unset כדי למחוק את הפריט הראשון מהמערך names$:

unset($names[0]);

 

ניתן למחוק את המערך כולו בדרך הבאה:

unset($names);

 

מערך שיוכי (אסוציאטיבי)

 

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

$names = array(
    "n1" => "Moshe", 
    "n2" => "Shlomo", 
    "n3" => "Gavriel");

אם נרצה לשלוף את הפריט הראשון:

echo $names["n1"];

והתוצאה: Moshe

 

כדי להציג את כל המערך נשתמש ב-print_r(), לדוגמה:

echo "<pre>";
  print_r($names);
echo "</pre>";

והתוצאה:

Array
(
  [n1] => Moshe
  [n2] => Shlomo
  [n3] => Gavriel
)

 

מערך רב-ממדי

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

המערך המקורי:

$names = array("n1",
  "n2",
  "n3"
);

 

לזה נוסיף את הממד השני (מערכים מקוננים או פנימיים):

$names = array("n1" => array(),
  "n2" => array(),
  "n3" => array()
);

 

ועכשיו נוסיף פריטים למערכים הפנימיים:

$names = array(
  "n1" => array(
    "name" => "Moshe",
    "number" => 11
  ),
  "n2" => array(
    "name" => "Shlomo",
    "number" => 6
  ),
  "n3" => array(
    "name" => "Gavriel",
    "number" => 67
  )
);

 

כדי לגשת לפריט number במערך n2, נעשה את הדבר הבא:

echo $names["n2"]["number"];

והתוצאה: 6

 

הוספת פריט למערך רב-ממדי נעשית באופן דומה למערך בממד אחד:

$names["n4"] = array("name" => "David", "number" => 9);

 

כשנדפיס את המערך כולו למסך, באמצעות print_r()

echo "<pre>";
  print_r($names);
echo "</pre>";

נקבל את התוצאה הבאה:

Array
(
 [n1] => Array
  (
    [name] => Moshe
    [number] => 11
  )
 [n2] => Array
  (
    [name] => Shlomo
    [number] => 6
  )
 [n3] => Array
  (
    [name] => Gavriel
    [number] => 67
  )
 [n4] => Array
  (
    [name] => David
    [number] => 9
  )
)

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

echo "<pre>";
  print_r($names["n2"]);
echo "</pre>";

והתוצאה:

Array
(
  [name] => Shlomo
  [number] => 6
)

המדריך הבא בחירה בין אפשרויות else, if וגם elseif מסביר את הנושא של משפטי תנאי

 

לכל מדריכי ה-PHP

הוסף תגובה חדשה

 

= 8 + 5