מיון מערך ב-PHP

SSL מהימן החל מ-$3.44 בלבד
פרסומות
מערכים ב-PHP
שיטות בקשת HTTP ב-PHP

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

פונקציות מיון

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

סוג()

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

$numbers = array(4, 8, 12, 16, 20);
sort($numbers);
print_r($numbers); // [4, 8, 12, 16, 20]

rsort()

אל האני rsort() הפונקציה היא ההיפך של sort() פוּנקצִיָה. הוא ממיין את האלמנטים של מערך בסדר יורד.

Copy code$numbers = array(4, 16, 12, 20, 11);
rsort($numbers);
print_r($numbers); // [20, 16, 12, 11, 4]

סוג של()

אל האני מִבְחָרהשיטה () משתמשת בערכים כדי למיין את האיברים של מערך אסוציאטיבי בסדר עולה.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
asort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

ksort ()

אל האני ksort() function ממיין את האלמנטים של מערך אסוציאטיבי בסדר עולה לפי ה- מפתחות.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
ksort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

arsort()

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

$fruits = array("apple" => "1", "pineapple" => "2", "grapefruit" => "1");
arsort($fruits);
print_r($fruits); // ["grapefruit" => "1", "pineapple" => "2", "apple" => "1"]

פונקציות אחרות למיון מערך

בנוסף ארסורט() פונקציה, PHP מספקת גם מספר פונקציות אחרות למיון מערכים, כגון:

  • krsort(): ממיין מערך אסוציאטיבי בסדר יורד לפי המפתחות שלו
  • משתמש(): ממיין מערך באמצעות פונקציית השוואה המוגדרת על ידי המשתמש
  • uasort(): ממיין מערך אסוציאטיבי באמצעות פונקציית השוואה המוגדרת על ידי משתמש, תוך שמירה על צמדי מפתח-ערך
  • uksort(): ממיין מערך אסוציאטיבי

שאלות ותשובות

ש: מה ההבדל בין הפונקציות "מיין" ו"rsort" ב-PHP עבור מערכים?
ת: הפונקציה "מיין" ממיינת את האלמנטים של מערך בסדר עולה, בעוד שהפונקציה "rsort" ממיינת את האלמנטים בסדר יורד.

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

SSL מהימן החל מ-$3.44 בלבד
פרסומות

ש: האם אתה יכול להסביר את פונקציית "ksor" ב-PHP?
ת: הפונקציה "ksort" ממיינת את חברי המערך בהתאם למפתחות שלהם. הפריטים מסודרים מחדש בסדר עולה על סמך ערכי המפתח.

ש: האם יש דרך למיין מערך באופן לא רגיש לאותיות גדולות?
ת: כן, אתה יכול להשתמש בפונקציה "מיין" או "אסורט" עם הדגל SORT_FLAG_CASE. לדוגמה: "sort($array, SORT_FLAG_CASE);"

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

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

תרגילים:

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

תשובות:

  1. sort($array);
  2. rsort($array);
  3. usort($array, function($a, $b) { return $a['key'] <=> $b['key']; });
  4. usort($array, function($a, $b) { return $a->property <=> $b->property; });
  5. usort($array, 'strcasecmp');

פונקציות רשמיות של מערכי PHP הפניה.

מערכים ב-PHP
שיטות בקשת HTTP ב-PHP
close

הישאר מעודכן לגבי PHP!

אנחנו לא שולחים ספאם!

SSL מהימן החל מ-$3.44 בלבד
פרסומות

en English
X
גלול למעלה