تعديل العناصر عبر الفهرس
جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 37 من 71.
لقد تعلمت كيفية الوصول إلى عناصر المصفوفة عن طريق فهرسها. الآن دعنا نرى كيفية تغيير تلك العناصر. يستخدم تعديل عنصر في المصفوفة نفس صيغة الأقواس المربعة، ولكن مع عملية تعيين.
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry";
echo $fruits[1]; // Blueberry
?>هنا، قمنا باستبدال "Banana" في الفهرس 1 بـ "Blueberry". القيمة الأصلية اختفت—المصفوفات لا تحتفظ بسجل للتغييرات.
يمكنك تعديل أي عنصر طالما أنك تعرف فهرسه (index):
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // تحديث الدرجة الأولى
$scores[2] = 82; // تحديث الدرجة الأخيرة
echo $scores[0]; // 95
echo $scores[2]; // 82
?>هذا مفيد عندما تحتاج إلى تحديث البيانات في قائمتك—مثل تصحيح خطأ مطبعي، أو تحديث سعر، أو تغيير حالة مستخدم. يخبر الفهرس (index) لغة PHP بالضبط بالعنصر الذي يجب استبداله، مع ترك جميع العناصر الأخرى دون تغيير.
التحدي
سهلاقرأ سطراً من المدخلات يحتوي على قيم مفصولة بفاصلة تمثل قائمة من الألوان (على سبيل المثال، Red,Green,Blue,Yellow).
ثم اقرأ ثلاثة مدخلات إضافية:
- عدد صحيح
index1يمثل الفهرس الأول المراد تعديله - سلسلة نصية
newValue1تمثل القيمة الجديدة لذلك الفهرس - عدد صحيح
index2يمثل الفهرس الثاني المراد تعديله
أنشئ مصفوفة من المدخلات المفصولة بفاصلة، ثم:
- قم بتعديل العنصر الموجود في
index1ليصبحnewValue1 - قم بتعديل العنصر الموجود في
index2ليصبحPurple
اطبع عناصر المصفوفة المعدلة في أسطر منفصلة، بالترتيب من الفهرس 0 إلى الفهرس الأخير.
مثال:
إذا كانت المدخلات هي Red,Green,Blue,Yellow، و 0، و Orange، و 2، فيجب أن تكون المخرجات:
Orange
Green
Purple
Yellowإذا كانت المدخلات هي Apple,Banana,Cherry,Mango,Kiwi، و 1، و Grape، و 4، فيجب أن تكون المخرجات:
Apple
Grape
Cherry
Mango
Purpleورقة مرجعية
لتعديل عنصر في المصفوفة، استخدم الفهرس مع الأقواس المربعة وعملية التعيين:
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry"; // يغير "Banana" إلى "Blueberry"
echo $fruits[1]; // Blueberry
?>يمكنك تعديل عناصر متعددة عن طريق تحديد فهارس مختلفة:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // تحديث العنصر الأول
$scores[2] = 82; // تحديث العنصر الأخير
?>يتم استبدال القيمة الأصلية ولا يتم الاحتفاظ بها. تظل العناصر الأخرى في المصفوفة دون تغيير.
جرّب بنفسك
<?php
// قراءة الألوان المفصولة بفاصلة
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// قراءة مدخلات التعديل
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));
// TODO: اكتب كودك هنا
// 1. قم بتعديل العنصر الموجود في index1 ليكون newValue1
// 2. قم بتعديل العنصر الموجود في index2 ليكون "Purple"
// طباعة كل عنصر في سطر منفصل
foreach ($colors as $color) {
echo $color . "\n";
}
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص6المصفوفات الجزء 1 - المفهرسة
مقدمة في المصفوفاتإنشاء المصفوفات المفهرسةالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسحجم المصفوفة باستخدام Countإضافة عناصر إلى المصفوفةملخص - إدارة قائمة بسيطة