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

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

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

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

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

פונקציות PHP לטיפול במערכים

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

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

 

הפונקציה count

הפונקציה count מחזירה את מספר הפריטים במערך נתון.

לדוגמה:

$cars = array('Talbot', 'Sussita', 'Tata');
echo count($cars);

הדוגמה תדפיס למסך 3, כמספר הפריטים במערך.

 

פונקציות לחיפוש במערכים

הפונקציה in_array מחפשת פריט במערך ומחזירה TRUE, אם הפריט נמצא, או FALSE, אם הפריט לא קיים.

$cars = array('Talbot', 'Sussita', 'Tata');
if(in_array('Sussita', $cars)){
  echo 'Yes';
} else {
  echo 'No';
}

 

התוצאה: Yes

 

הפונקציה array_search מחפשת פריט במערך ומחזירה את מיקום הפריט, או FALSE.

לדוגמה:

$cars = array('Talbot', 'Sussita', 'Tata');
echo array_search('Sussita', $cars);

הדוגמה תדפיס 1 למסך, מפני שהמערך המבוקש הוא הפריט השני במערך, ומחשבים מתחילים לספור מ-0.

 

הפונקציה הבאה משתמשת בפונקציה array_search כדי להחזיר No במידה ואין התאמה, או את מיקום הפריט במקרה של מציאת התאמה:

function improved_array_search($look_for, $inside_array){
  if(array_search($look_for, $inside_array) === FALSE){
    return 'No';
  } else {
    return array_search($look_for, $inside_array);
  }
}

כשנריץ את הפונקציה נקבל את התוצאות בירוק:

echo improved_array_search('Sussita', $cars); // 1
echo improved_array_search('Kangoo', $cars); // No

 

פונקציות להוספת פריטים למערך

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

$cars = array('Talbot', 'Sussita', 'Tata');
array_push($cars, 'Delta', 'Volvo');
var_dump($cars);

והתוצאה:

array (size=5)
 0 => string 'Talbot' (length=6)
 1 => string 'Sussita' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)
 4 => string 'Volvo' (length=5)

 

הפונקציה array_pop מסיר את הפריט האחרון במערך, ומחזיר את הפריט שהוסר מהמערך.

לדוגמה:

echo array_pop($cars); // Volvo
var_dump($cars);

והתוצאה:

array (size=4)
 0 => string 'Talbot' (length=6)
 1 => string 'Sussita' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)

 

הפונקציה array_shift מסיר את הפריט הראשון מהמערך, ומחזיר את הפריט שהוסר.

echo array_shift($cars); // Talbot var_dump($cars);

והתוצאה:

array (size=3)
 0 => string 'Sussita' (length=7)
 1 => string 'Tata' (length=4)
 2 => string 'Delta' (length=5)

 

הפונקציה array_unshift מוסיף פריט ראשון למערך.

array_unshift($cars, 'KIA');
var_dump($cars);

והתוצאה:

array (size=4)
 0 => string 'KIA' (length=3)
 1 => string 'Sussita' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)

 

פונקציות שיוצרות מערך חדש ממערך קיים

פונקציות אילו לא משנות את המערך הקיים, אלא יוצרות מערך חדש ממערך קיים.

array_slice שולף פריטים ממערך קיים בהתבסס על מיקומם.

$a = array_slice($cars,0,1);
var_dump($a);

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

והתוצאה בהתאם:

array (size=1)
 0 => string 'KIA' (length=3)

 

הפריט האחרון במערך מוגדר כ1- , ובהתאם אם רוצים לשלוף 2 פריטים החל מהעמדה השלישית מסוף המערך, זה ייראה כך:

// last array item is : -1
$b = array_slice($cars,-3,2);
var_dump($b);

והתוצאה:

array (size=2)
 0 => string 'Sussita' (length=7)
 1 => string 'Tata' (length=4)

 

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

var_dump($cars);

והתוצאה:

array (size=4)
 0 => string 'KIA' (length=3)
 1 => string 'Sussita' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)

 

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

$new_cars = array('Peugeot', 'Renault');
// array_splice(array_name, start_position, number_items, added_items)
array_splice($cars,0,2,$new_cars);
var_dump($cars);

והתוצאה:

array (size=4)
 0 => string 'Peugeot' (length=7)
 1 => string 'Renault' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)

 

פונקציות שפועלות על כל פריט במערך

הפונקציות שמשתייכות לקטגוריה זו, מבצעות פונקציה על כל פריט ופריט במערך.

array_map מבצע פונקציה על כל פריט ופריט במערך, ומחזיר מערך עם הפריטים ששונו. בדוגמה זו, נריץ את הפונקציה strtolower על כל פריט במערךcars$, ונקבל חזרה מערך חדש שבו כל האותיות קטנות.

$lower_case_cars = array_map('strtolower', $cars);
var_dump($lower_case_cars);

כך נראה המערך שיצרנו $lower_case_cars:

array (size=4)
 0 => string 'peugeot' (length=7)
 1 => string 'renault' (length=7)
 2 => string 'tata' (length=4)
 3 => string 'delta' (length=5)

שימו לב, המערך $cars לא ישתנה בכלל כשנריץ את הפונקציה.

 

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

function hello_to_car($item){
   echo "Beep, " . $item . "!<br />";
}

array_walk($cars, 'hello_to_car');

והתוצאה:

Beep, Peugeot!
Beep, Renault!
Beep, Tata!
Beep, Delta!

 

פונקציות שפועלות על מערכים אסוציאטיביים

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

array_keys יוצר מערך חדש נוסף שכל הפריטים בו מקורם בערכים מהמערך המקורי.

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

$national_cars = array('Korea' => 'KIA', 'Israel' =>
'Sussita', 'India' => 'Tata', 'Romania' =>
'Delta');
$models  = array_values($national_cars);
var_dump($models);

והתוצאה:

array (size=4)
 0 => string 'KIA' (length=3)
 1 => string 'Sussita' (length=7)
 2 => string 'Tata' (length=4)
 3 => string 'Delta' (length=5)

 

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

לדוגמה:

$nations = array_keys($national_cars);
var_dump($nations);

והתוצאה:

array (size=4)
 0 => string 'Korea' (length=5)
 1 => string 'Israel' (length=6)
 2 => string 'India' (length=5)
 3 => string 'Romania' (length=7)

 

צריך לשים לב, ש-array_keys ו-array_values אינם פוגעים במערך המקורי.

 

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

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

extract($national_cars);
echo $Israel;// Sussita
echo $Korea;// KIA
echo $India;// Tata

במדריך הבא תוכלו ללמוד על פונקציות PHP שמטפלות בזמן .

 

כל מדריכי ה-PHP

 

 

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

 

= 6 + 3