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

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

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

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

إليك كيفية تعديل عنصر محدد في مصفوفة ثنائية الأبعاد:

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

// تغيير الخلية المركزية إلى 'X'
$gameBoard[1][1] = "X";

// تغيير الزاوية العلوية اليسرى إلى 'O'
$gameBoard[0][0] = "O";
?>

تستهدف الصيغة البرمجية $gameBoard[1][1] = "X" الصف 1، والعمود 1 (مركز شبكة 3x3) وتعين القيمة "X" لذلك الموضع. يقوم هذا بتعديل المصفوفة الأصلية مباشرة، مستبدلاً أي قيمة كانت موجودة هناك من قبل.

تعد تقنية التعديل هذه ضرورية لتحديث حالات اللعبة، أو تغيير البيانات في الجداول، أو أي سيناريو تحتاج فيه إلى تغيير مواقع محددة ضمن هيكل البيانات الشبيه بالشبكة الخاص بك. إن القدرة على تحديد وتحديث مواقع دقيقة تجعل المصفوفات ثنائية الأبعاد (2D arrays) مثالية لتمثيل المعلومات الديناميكية والقابلة للتغيير المنظمة في صفوف وأعمدة.

quiz iconاختبر نفسك

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

quiz iconاختبر نفسك

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

quiz iconاختبر نفسك

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

challenge icon

التحدي

سهل

ستتلقى أربعة مدخلات: مصفوفة ثنائية الأبعاد (2D array) تمثل مخطط جلوس بتنسيق JSON، وفهرس الصف (row index)، وفهرس العمود (column index)، واسم راكب جديد. قم بقراءة جميع المدخلات الأربعة، وحوّل سلسلة JSON إلى مصفوفة ثنائية الأبعاد، ثم قم بتعديل العنصر الموجود في الصف والعمود المحددين عن طريق تعيين اسم الراكب الجديد له، واطبع المصفوفة ثنائية الأبعاد المحدثة باستخدام print_r().

تمثل المصفوفة ثنائية الأبعاد مخطط جلوس حيث يحتوي كل عنصر على اسم راكب أو سلسلة فارغة للمقاعد الشاغرة.

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

  • السطر الأول: مصفوفة JSON تمثل مخطط الجلوس (مثال: [["Alice","Bob",""],["","Charlie","Diana"],["","",""]])
  • السطر الثاني: فهرس الصف (عدد صحيح)
  • السطر الثالث: فهرس العمود (عدد صحيح)
  • السطر الرابع: اسم الراكب الجديد (سلسلة نصية)

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

ورقة مرجعية

لتعديل العناصر في مصفوفة ثنائية الأبعاد، استخدم صيغة الفهرسة المزدوجة مع عامل التعيين:

$array[row][column] = newValue;

مثال على تعديل لوحة لعبة:

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

// تغيير الخلية المركزية إلى 'X'
$gameBoard[1][1] = "X";

// تغيير الزاوية العلوية اليسرى إلى 'O'
$gameBoard[0][0] = "O";
?>

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

جرّب بنفسك

<?php
// قراءة المدخلات
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));

// تحويل JSON إلى مصفوفة ثنائية الأبعاد
$seating_chart = (array)json_decode($json_input, true);

// TODO: اكتب الكود الخاص بك أدناه لتعديل مخطط الجلوس


// طباعة المصفوفة المعدلة
print_r($seating_chart);
?>
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow