ترتيب المصفوفات المفهرسة تصاعدياً
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 20 من 68.
عندما تحتاج إلى تنظيم البيانات بترتيب منطقي، توفر دالة sort() في PHP طريقة بسيطة لترتيب المصفوفات المفهرسة بترتيب تصاعدي. سواء كنت تعمل مع أرقام أو سلاسل نصية، تقوم هذه الدالة تلقائياً بفرز العناصر من الأصغر إلى الأكبر أو أبجدياً من A إلى Z.
إليك كيف تعمل sort() مع مصفوفة بسيطة من الأرقام:
<?php
$numbers = [45, 12, 78, 23, 56];
sort($numbers);
print_r($numbers);
// المخرجات: Array ( [0] => 12 [1] => 23 [2] => 45 [3] => 56 [4] => 78 )
?>من الخصائص المهمة لـ sort() هي أنها تقوم بتعديل المصفوفة الأصلية مباشرةً، بدلاً من إنشاء نسخة مرتبة جديدة. وهذا يعني أنه بعد استدعاء sort()، يتم تغيير مصفوفتك الأصلية بشكل دائم لتعكس الترتيب الجديد.
تعمل هذه الدالة بشكل جيد مع السلاسل النصية، حيث تقوم بفرزها أبجدياً. وهذا يجعل sort() مفيدة بشكل خاص لتنظيم قوائم الأسماء، أو تنظيم عناصر المخزون، أو إعداد البيانات للعرض بتنسيق سهل الاستخدام.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلستتلقى مدخلاً واحداً: مصفوفة من درجات الاختبار بتنسيق JSON. اقرأ المدخلات، وقم بتحويل سلسلة JSON إلى مصفوفة، واستخدم sort() لترتيب الدرجات بترتيب تصاعدي، واطبع المصفوفة المرتبة باستخدام print_r().
تنسيق المدخلات: سطر واحد يحتوي على مصفوفة JSON من الأرقام (مثال: [78,92,65,88,71])
المخرجات المتوقعة: المصفوفة المرتبة بترتيب تصاعدي، معروضة باستخدام print_r()
ورقة مرجعية
تقوم الدالة sort() بترتيب المصفوفات المفهرسة بترتيب تصاعدي (من الأصغر إلى الأكبر للأرقام، ومن A إلى Z للسلاسل النصية):
<?php
$numbers = [45, 12, 78, 23, 56];
sort($numbers);
print_r($numbers);
// المخرجات: Array ( [0] => 12 [1] => 23 [2] => 45 [3] => 56 [4] => 78 )
?>هام: تقوم sort() بتعديل المصفوفة الأصلية مباشرة بدلاً من إنشاء نسخة مرتبة جديدة.
جرّب بنفسك
<?php
// قراءة المدخلات
$input = trim(fgets(STDIN));
// تحويل نص JSON إلى مصفوفة
$scores = json_decode($input, true);
// TODO: اكتب الكود الخاص بك أدناه لفرز المصفوفة
// طباعة المصفوفة المصنفة
print_r($scores);
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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'مراجعة: ترتيب لوحة المتصدرين