Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

إنشاء مصفوفة ثنائية الأبعاد

جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 27 من 68.

المصفوفة متعددة الأبعاد هي ببساطة مصفوفة تحتوي على مصفوفات أخرى كعناصر لها. النوع الأكثر شيوعاً هو المصفوفة ثنائية الأبعاد (2D array)، والتي يمكنك تخيلها كشبكة تحتوي على صفوف وأعمدة، تشبه جدول البيانات أو لوحة الألعاب.

إنشاء مصفوفة ثنائية الأبعاد في PHP أمر بسيط—أنت تقوم ببناء مصفوفة حيث يكون كل عنصر فيها عبارة عن مصفوفة بحد ذاته:

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];
?>

يؤدي هذا إلى إنشاء شبكة 3x3 حيث يمثل كل مصفوفة داخلية صفاً، ويمثل كل عنصر داخل تلك المصفوفات عموداً. يمكنك أيضاً إنشاء مصفوفات ثنائية الأبعاد بأنواع بيانات مختلفة:

<?php
$scores = [
    [85, 92, 78],
    [90, 88, 95],
    [76, 84, 89]
];
?>

توفر PHP أيضًا دالة array_fill() المدمجة لإنشاء مصفوفة مملوءة بقيمة معينة بسرعة. تأخذ ثلاثة وسائط: الفهرس البدائي، وعدد العناصر، وقيمة التعبئة:

<?php
$row = array_fill(0, 3, "");
// النتيجة: ["", "", ""]
?>

هذا اختصار مفيد عندما تحتاج إلى تهيئة مصفوفات بقيم متكررة، مثل الخلايا الفارغة في لوحة اللعبة.

المصفوفات متعددة الأبعاد مفيدة للغاية لتنظيم البيانات المهيكلة مثل لوحات الألعاب، أو جداول المعلومات، أو أي سيناريو تحتاج فيه إلى تمثيل البيانات في تنسيق شبكي. فهي توفر طريقة طبيعية للعمل مع صفوف وأعمدة من المعلومات ذات الصلة.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

challenge icon

التحدي

سهل

ستتلقى ثلاثة مدخلات تمثل الأبعاد والقيمة الأولية لمصفوفة ثنائية الأبعاد: عدد الصفوف، وعدد الأعمدة، وقيمة لملء كل موضع. اقرأ هذه المدخلات، وأنشئ مصفوفة ثنائية الأبعاد بالأبعاد المحددة حيث يتم تعيين كل عنصر إلى القيمة المعطاة، واطبع المصفوفة باستخدام print_r().

تنسيق المدخلات:

  • السطر الأول: عدد الصفوف (عدد صحيح)
  • السطر الثاني: عدد الأعمدة (عدد صحيح)
  • السطر الثالث: القيمة الأولية لكل عنصر (سلسلة نصية)

المخرجات المتوقعة: المصفوفة ثنائية الأبعاد التي تم إنشاؤها معروضة باستخدام print_r()

ورقة مرجعية

المصفوفة متعددة الأبعاد هي مصفوفة تحتوي على مصفوفات أخرى كعناصر. النوع الأكثر شيوعاً هو المصفوفة ثنائية الأبعاد، والتي تمثل شبكة من الصفوف والأعمدة.

إنشاء مصفوفة ثنائية الأبعاد في PHP:

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];
?>

المصفوفات ثنائية الأبعاد مع أنواع بيانات مختلفة:

<?php
$scores = [
    [85, 92, 78],
    [90, 88, 95],
    [76, 84, 89]
];
?>

تمثل كل مصفوفة داخلية صفاً، ويمثل كل عنصر داخل تلك المصفوفات عموداً. المصفوفات متعددة الأبعاد مفيدة لتنظيم البيانات المهيكلة مثل لوحات الألعاب، أو الجداول، أو أي بيانات بتنسيق شبكي.

استخدم array_fill() لإنشاء مصفوفة مملوءة مسبقاً بقيمة معينة:
array_fill(start_index, count, value)

<?php
// ينشئ [0, 0, 0, 0, 0]
$row = array_fill(0, 5, 0);
?>

هذا مفيد لتهيئة الصفوف أو المصفوفات ثنائية الأبعاد بالكامل بسرعة بقيمة افتراضية.

جرّب بنفسك

<?php
// قراءة المدخلات
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه لإنشاء المصفوفة ثنائية الأبعاد


// طباعة النتيجة
print_r($array);
?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow