ترتيب المصفوفات المفهرسة تنازلياً
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 21 من 68.
عندما تحتاج إلى فرز البيانات بترتيب عكسي—من الأعلى إلى الأقل أو من Z إلى A—توفر دالة rsort() في PHP الحل الأمثل. تعمل هذه الدالة تماماً مثل sort()، ولكنها ترتب العناصر بترتيب تنازلي بدلاً من الترتيب التصاعدي.
إليك كيف تعمل rsort() مع مصفوفة من الدرجات:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// المخرجات: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>تماماً مثل sort()، تقوم الدالة rsort() بتعديل المصفوفة الأصلية مباشرة بدلاً من إنشاء نسخة مرتبة جديدة. بعد استدعاء rsort()، يتم إعادة ترتيب المصفوفة الخاصة بك بشكل دائم بترتيب تنازلي.
هذه الوظيفة مفيدة بشكل خاص عندما تريد عرض التصنيفات، أو لوحات المتصدرين، أو أي بيانات يجب أن تظهر فيها القيم الأعلى أولاً. سواء كنت تعمل مع درجات الاختبار، أو أرقام المبيعات، أو القوائم الأبجدية التي تحتاج إلى ترتيب عكسي، فإن rsort() تتعامل مع المهمة بكفاءة.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلستتلقى مدخلاً واحداً: مصفوفة من أرقام المبيعات بتنسيق JSON. اقرأ المدخلات، وقم بتحويل سلسلة JSON إلى مصفوفة، واستخدم rsort() لترتيب أرقام المبيعات بترتيب تنازلي، ثم اطبع المصفوفة المرتبة باستخدام print_r().
تنسيق المدخلات: سطر واحد يحتوي على مصفوفة JSON من الأرقام (مثال: [1250,3400,890,2100,1780])
المخرجات المتوقعة: المصفوفة المرتبة بترتيب تنازلي، معروضة باستخدام print_r()
ورقة مرجعية
تقوم الدالة rsort() بفرز المصفوفات بترتيب تنازلي (من الأعلى إلى الأقل):
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// المخرجات: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>مثل sort()، تقوم rsort() بتعديل المصفوفة الأصلية مباشرة بدلاً من إنشاء نسخة مرتبة جديدة.
جرّب بنفسك
<?php
// قراءة المدخلات
$input = trim(fgets(STDIN));
// تحويل نص JSON إلى مصفوفة
$sales = json_decode($input, true);
// تنبيه: اكتب الكود الخاص بك أدناه لفرز المصفوفة بترتيب تنازلي
// طباعة المصفوفة المصنفة
print_r($sales);
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرين