كيفية فرز المصفوفات في PHP

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 21 مارس 2025

محتوى المقال

كيفية فرز المصفوفات في PHP

فرز المصفوفات في PHP هو عملية ترتيب عناصر المصفوفة بترتيب معين، سواء كان تصاعديًا أو تنازليًا. توفر PHP مجموعة من الدوال المدمجة التي تسهل عملية فرز المصفوفات، سواء كانت مفهرسة أو ترابطية. في هذا المقال، سنتعرف على كيفية فرز المصفوفات في PHP باستخدام عدة دوال مع أمثلة توضيحية.

فرز المصفوفات المفهرسة في PHP

المصفوفات المفهرسة تحتوي على سلسلة من القيم المرتبة باستخدام أرقام فهرسية (تبدأ عادة من 0). لفرز هذه المصفوفات، يمكنك استخدام الدوال sort() و rsort().

استخدام sort() لفرز المصفوفة تصاعديًا

الدالة sort() تقوم بترتيب عناصر المصفوفة بترتيب تصاعدي (من الأصغر إلى الأكبر).

<?php
$numbers = [4, 2, 8, 6];
sort($numbers);

foreach ($numbers as $number) {
    echo $number . "
"
;
}
?>

في هذا المثال، تم فرز مصفوفة $numbers بترتيب تصاعدي باستخدام الدالة sort(). الناتج سيكون: 2، 4، 6، 8.

استخدام rsort() لفرز المصفوفة تنازليًا

الدالة rsort() تقوم بترتيب عناصر المصفوفة بترتيب تنازلي (من الأكبر إلى الأصغر).

<?php
$numbers = [4, 2, 8, 6];
rsort($numbers);

foreach ($numbers as $number) {
    echo $number . "
"
;
}
?>

في هذا المثال، تم فرز مصفوفة $numbers بترتيب تنازلي باستخدام الدالة rsort(). الناتج سيكون: 8، 6، 4، 2.

فرز المصفوفات الترابطية في PHP

المصفوفات الترابطية تحتوي على أزواج من المفاتيح والقيم. لفرز هذه المصفوفات، يمكنك استخدام الدوال asort()، ksort()، arsort()، وkrsort().

استخدام asort() لفرز المصفوفة بناءً على القيم

الدالة asort() تقوم بترتيب القيم بترتيب تصاعدي مع الحفاظ على ارتباط المفاتيح بالقيم.

<?php
$ages = ["أحمد" => 35, "سارة" => 28, "كريم" => 40];
asort($ages);

foreach ($ages as $name => $age) {
    echo $name . ": " . $age . "
"
;
}
?>

في هذا المثال، تم فرز مصفوفة $ages بترتيب تصاعدي بناءً على القيم (الأعمار) باستخدام الدالة asort(). الناتج سيكون: سارة (28)، أحمد (35)، كريم (40).

استخدام ksort() لفرز المصفوفة بناءً على المفاتيح

الدالة ksort() تقوم بترتيب المصفوفة بناءً على المفاتيح بترتيب تصاعدي.

<?php
$ages = ["أحمد" => 35, "سارة" => 28, "كريم" => 40];
ksort($ages);

foreach ($ages as $name => $age) {
    echo $name . ": " . $age . "
"
;
}
?>

في هذا المثال، تم فرز مصفوفة $ages بترتيب تصاعدي بناءً على المفاتيح (الأسماء) باستخدام الدالة ksort(). الناتج سيكون: أحمد، كريم، سارة.

مقارنة بين دوال الفرز في PHP

إليك مقارنة بين الدوال الرئيسية المستخدمة لفرز المصفوفات في PHP:

  • sort(): فرز القيم في المصفوفة المفهرسة بترتيب تصاعدي.
  • rsort(): فرز القيم في المصفوفة المفهرسة بترتيب تنازلي.
  • asort(): فرز القيم في المصفوفة الترابطية بترتيب تصاعدي مع الحفاظ على المفاتيح.
  • arsort(): فرز القيم في المصفوفة الترابطية بترتيب تنازلي مع الحفاظ على المفاتيح.
  • ksort(): فرز المصفوفة الترابطية بترتيب تصاعدي بناءً على المفاتيح.
  • krsort(): فرز المصفوفة الترابطية بترتيب تنازلي بناءً على المفاتيح.

الخلاصة

فرز المصفوفات في PHP هو عملية بسيطة ولكنها قوية تسمح لك بترتيب بياناتك بسهولة. سواء كنت تتعامل مع مصفوفات مفهرسة أو ترابطية، توفر لك PHP دوال مختلفة مثل sort()، asort()، وksort() لإدارة بياناتك بمرونة. من خلال اختيار الدالة المناسبة، يمكنك ضمان أن تكون بياناتك مرتبة بالطريقة التي تحتاجها في تطبيقاتك.

طور مهاراتك: مقالات يجب قراءتها في البرمجة