English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستتعلم كيفية تخزين القيم المتعددة في متغير واحد في PHP.
الصفوف هي متغيرات معقدة تسمح لك بتخزين عدة قيم أو مجموعة من القيم تحت اسم متغير واحد. افترض أنك ترغب في تخزين الألوان في سكربت PHP، فإن تخزين الألوان بشكل فردي في المتغيرات قد يكون كالتالي:
<?php $color1 = \"Red\"; $color2 = \"Green\"; $color3 = \"Blue\"; echo $color1; echo \"<br>\"; echo $color2; echo \"<br>\"; echo $color3; ?>الاختبار لرؤية‹/›
لكن إذا كنت ترغب في تخزين أسماء الولايات أو المدن لدول معينة، فإن هذا قد يكون أكثر من ثلاثة وربما مئة. من الصعب جدًا تخزين اسم كل مدينة في متغير منفرد، وهو أمر سيء وغير مفيد. تبدأ المصفوفة هنا في العمل.
يمكنك إنشاء ثلاثة أنواع من المصفوفات. وهي:
المصفوفة المرتبطة ـ تحتوي على مفاتيح رقمية.
المصفوفة المرتبطة ـ تتضمن مصفوفة تحتوي على كل مفتاح له قيمة محددة.
البنية المترابطة متعددة الأبعاد ـ تتضمن مجموعة من المصفوفات.
تخزن المصفوفة المرتبطة أو المصفوفة الرقمية كل عنصر من العناصر التي تحتوي على معرفات رقمية. يظهر المثال التالي طريقتين لإنشاء مصفوفة مرتبطة، الأسهل منها:
<?php //تحديد مصفوفة مرتبطة $colors = array(\"Red\", \"Green\", \"Blue\"); // طباعة بنية البنية المترابطة print_r($colors); ?>الاختبار لرؤية‹/›
ملاحظة:في المصفوفة المرتبطة أو المصفوفة الرقمية، يتم تخصيص الأنماط تلقائيًا من 0، ويمكن أن تكون القيم من أي نوع بيانات.
هذا يساوي المثال التالي، حيث تم تخصيص الأنماط يدويًا:
<?php $colors[0] = \"Red\"; $colors[1] = \"Green\"; $colors[2] = \"Blue\"; // طباعة بنية البنية المترابطة print_r($colors); ?>الاختبار لرؤية‹/›
في المصفوفة المرتبطة، يمكن أن يكون المفتاح المخصص للقيمة مرناً ويمكن تحديده من قبل المستخدم. في المثال التالي، يستخدم النص بدلاً من الرقم كمعرف في المصفوفة:
<?php //تحديد مصفوفة مرتبطة $ages = array(\"Peter\"=>22, \"Clark\"=>32, \"John\"=>28); // طباعة بنية البنية المترابطة print_r($ages); ?>الاختبار لرؤية‹/›
النموذج التوضيحي أدناه مساوٍ للنموذج التوضيحي السابق، ولكن يظهر طريقة أخرى لإنشاء مصفوفة مرتبطة:
<?php $ages[\"Peter\"] = \"22\"; $ages[\"Clark\"] = \"32\"; $ages["John"] = "28"; // طباعة بنية البنية المترابطة print_r($ages); ?>الاختبار لرؤية‹/›
البنية المترابطة متعددة الأبعاد هي بنية متعددة الأبعاد، حيث يمكن أن يكون كل عنصر في البنية المترابطة بنية مترابطة أخرى، ويمكن أن تكون كل عنصر في البنية المترابطة المدمجة بنية مترابطة أخرى، وبهذا الشكل. مثال على بنية متعددة الأبعاد يظهر أدناه:
<?php // تعريف بنية متعددة الأبعاد $contacts = array ( البنية المترابطة ( "name" => "Peter Parker", "email" => "[email protected]", ), البنية المترابطة ( "name" => "Clark Kent", "email" => "[email protected]", ), البنية المترابطة ( "name" => "Harry Potter", "email" => "[email protected]", ) ); // الوصول إلى القيمة المدمجة echo "البريد الإلكتروني لـ بيتير باركر هو: " . $contacts[0]["email"]; ?>الاختبار لرؤية‹/›
يمكنك استخدام جملة واحدة من var_dump() أو print_r() لعرض بنية وقيم أي بنية مترابطة. ولكن يقدم جملة print_r() معلومات أقل. انظر إلى المثال التالي:
<?php // تعريف البنية المترابطة $cities = array("London", "Paris", "New York"); // عرض بنية البنية المترابطة print_r($cities); ?>الاختبار لرؤية‹/›
يقدم جملة print_r() الإخراج التالي:
البنية المترابطة ( [0] => London [1] => Paris [2] => New York )
يظهر هذا الإخراج مفتاح كل عنصر وقيمته في البنية المترابطة. للحصول على معلومات إضافية، استخدم الجملة التالية:
<?php // تعريف البنية المترابطة $cities = array("London", "Paris", "New York"); // عرض بنية البنية المترابطة var_dump($cities); ?>الاختبار لرؤية‹/›
يقدم جملة var_dump() الإخراج التالي:
البنية المترابطة(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }
إلى جانب المفتاح والقيمة، يظهر هذا الإخراج نوع بيانات كل عنصر، مثل 字符ية تحتوي على 6 أحرف. فيالفصل التالي،ستتعلم كيفية ترتيب عناصر البنية المترابطة.
فيفصل الدوراتفي هذا الفصل، ستتعلم كيفية استدعاء قيم البنية المترابطة.