الوصول إلى عناصر المصفوفة ثنائية الأبعاد
جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 28 من 68.
الآن بعد أن عرفت كيفية إنشاء مصفوفات ثنائية الأبعاد، فإن الخطوة التالية هي تعلم كيفية استرداد قيم محددة منها. يتطلب الوصول إلى العناصر في مصفوفة ثنائية الأبعاد فهرسين: الأول للصف والثاني للعمود، باستخدام الصيغة $array[row][column].
إليك كيفية الوصول إلى عنصر محدد في مصفوفة ثنائية الأبعاد:
<?php
$products = [
["Laptop", 999.99],
["Mouse", 25.50],
["Keyboard", 75.00]
];
// الوصول إلى سعر المنتج الأول (Laptop)
echo $products[0][1]; // المخرجات: 999.99
// الوصول إلى اسم المنتج الثاني (Mouse)
echo $products[1][0]; // المخرجات: Mouse
?>الفهرس الأول [0] يختار الصف الأول (مصفوفة laptop)، والفهرس الثاني [1] يختار العنصر الثاني داخل ذلك الصف (السعر). فكر في الأمر كالتنقل إلى خلية محددة في جدول بيانات من خلال تحديد كل من الصف والعمود.
يتيح لك نظام الفهرسة المزدوجة هذا تحديد قطعة البيانات التي تريدها بالضبط من هيكلك الشبيه بالشبكة، مما يجعل المصفوفات ثنائية الأبعاد (2D arrays) مثالية لتنظيم المعلومات ذات الصلة في صفوف وأعمدة.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلستتلقى ثلاثة مدخلات: مصفوفة ثنائية الأبعاد لمعلومات الطلاب بتنسيق JSON، وفهرس الصف، وفهرس العمود. اقرأ جميع المدخلات الثلاثة، وقم بتحويل سلسلة JSON إلى مصفوفة ثنائية الأبعاد، ثم قم بالوصول إلى العنصر الموجود في فهارس الصف والعمود المحددة، واطبع ذلك العنصر.
تمثل المصفوفة ثنائية الأبعاد الطلاب حيث تحتوي كل مصفوفة داخلية على: [student_name, age, grade]
تنسيق الإدخال:
- السطر الأول: مصفوفة JSON تحتوي على معلومات الطلاب (مثال:
[["Alice",16,85],["Bob",17,92],["Charlie",16,78]]) - السطر الثاني: فهرس الصف (عدد صحيح)
- السطر الثالث: فهرس العمود (عدد صحيح)
المخرجات المتوقعة: العنصر الموجود في موضع الصف والعمود المحدد
ورقة مرجعية
اللوصول إلى العناصر في مصفوفة ثنائية الأبعاد، استخدم الفهرسة المزدوجة بالصيغة التالية $array[row][column]:
<?php
$products = [
["Laptop", 999.99],
["Mouse", 25.50],
["Keyboard", 75.00]
];
// الوصول إلى سعر المنتج الأول (Laptop)
echo $products[0][1]; // المخرجات: 999.99
// الوصول إلى اسم المنتج الثاني (Mouse)
echo $products[1][0]; // المخرجات: Mouse
?>يحدد الفهرس الأول الصف، ويحدد الفهرس الثاني العمود داخل ذلك الصف. يتيح لك ذلك تحديد قطعة البيانات التي تريدها بالضبط من هيكلك الشبيه بالشبكة.
جرّب بنفسك
<?php
// قراءة مصفوفة JSON
$jsonInput = trim(fgets(STDIN));
$students = (array)json_decode($jsonInput, true);
// قراءة فهرس الصف
$rowIndex = intval(fgets(STDIN));
// قراءة فهرس العمود
$colIndex = intval(fgets(STDIN));
// TODO: اكتب الكود الخاص بك أدناه للوصول إلى العنصر في الصف والعمود المحددين
// إخراج النتيجة
echo $element;
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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'مراجعة: ترتيب لوحة المتصدرين