🚀 احتراف ترتيب المصفوفات في PHP: نظم بياناتك بسهولة!
بعد أن تعلمت كيف تنشئ المصفوفات وتتعامل معها، حان الوقت لتتعلم كيف تنظم هذه البيانات.
تخيل أن لديك قائمة بأسماء طلاب أو قائمة بأسعار منتجات، من غير المنطقي أن تتركها عشوائية! هنا يأتي دور "ترتيب المصفوفات" (Sorting Arrays)، حيث توفر لنا لغة PHP دوال جاهزة وقوية تقوم بهذه المهمة بكلمة واحدة فقط. 🛠️
1️⃣ الترتيب التصاعدي البسيط باستخدام sort() 📈
دالة sort() هي الأداة الأكثر استخداماً عندما تريد ترتيب عناصر المصفوفة من الأصغر إلى الأكبر (تصاعدياً)، سواء كانت أرقاماً أو نصوصاً.
كيف تعمل؟ تقوم الدالة بترتيب العناصر مباشرة داخل المصفوفة الأصلية.
مثال عملي: لنفرض أن لدينا مصفوفة تحتوي على درجات طلاب غير مرتبة:
<?php
// Defining an array of scores
$scores = array(85, 40, 92, 60, 75);
// Sorting the array in ascending order
sort($scores);
// Printing the sorted array
foreach ($scores as $score) {
echo $score . " "; // سيتم طباعة الدرجات من الأصغر للأكبر
}
?>
النتيجة
40 60 75 85 92
2️⃣ الترتيب التنازلي باستخدام rsort() 📉
أحياناً نحتاج لعكس الترتيب، كأن نريد عرض "أعلى الدرجات" أولاً. هنا نستخدم الدالة rsort() (حيث حرف الـ r يرمز لـ Reverse أي عكسي).
مثال عملي: سنستخدم نفس مصفوفة الدرجات ولكن سنرتبها من الأكبر إلى الأصغر:
<?php
// Defining an array of scores
$scores = array(85, 40, 92, 60, 75);
// Sorting the array in descending order
rsort($scores);
// Printing the sorted array
foreach ($scores as $score) {
echo $score . " "; // سيتم طباعة الدرجات من الأكبر للأصغر
}
?>
النتيجة
92 85 75 60 40
3️⃣ ترتيب المصفوفات الترابطية (Associative Arrays) 🔑
في المصفوفات الترابطية، لدينا "مفتاح" (Key) و "قيمة" (Value). الترتيب هنا يختلف لأننا قد نرغب في الترتيب بناءً على القيمة مع الحفاظ على ارتباطها بالمفتاح.
أ- الترتيب التصاعدي حسب القيمة asort() ⬆️
تستخدم asort() لترتيب المصفوفة تصاعدياً مع الحفاظ على العلاقة بين المفتاح والقيمة.
<?php
// Array of students and their ages
$ages = array("Ahmed" => 25, "Sara" => 20, "Zaid" => 22);
// Sorting by value (age) in ascending order
asort($ages);
print_r($ages);
// النتيجة: ستبدأ بسارة (20) ثم زيد (22) ثم أحمد (25)
?>
ب- الترتيب التنازلي حسب القيمة arsort() ⬇️
تستخدم arsort() لترتيب المصفوفة تنازلياً مع الحفاظ على العلاقة بين المفتاح والقيمة.
<?php
// Array of students and their ages
$ages = array("Ahmed" => 25, "Sara" => 20, "Zaid" => 22);
// Sorting by value (age) in descending order
arsort($ages);
print_r($ages);
// النتيجة: ستبدأ بأحمد (25) ثم زيد (22) ثم سارة (20)
?>
💡 ملخص سريع لاختيار الدالة المناسبة:
| الدالة | نوع الترتيب | نوع المصفوفة | الميزة |
|---|---|---|---|
sort() |
تصاعدي 📈 | عادية (Indexed) | ترتيب بسيط من الأصغر للأكبر |
rsort() |
تنازلي 📉 | عادية (Indexed) | ترتيب عكسي من الأكبر للأصغر |
asort() |
تصاعدي 📈 | ترابطية (Associative) | يحافظ على المفاتيح (Keys) |
arsort() |
تنازلي 📉 | ترابطية (Associative) | يحافظ على المفاتيح (Keys) |
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال