المصفوفة متعددة الأبعاد في PHP [مع أمثلة]
نشرت: 2020-11-24عندما نتحدث عن تخزين القيم في PHP ، فإننا نتحدث عن مصفوفة الكلمات. لتخزين قيم متعددة ، هناك طريقتان لتنفيذ المهمة. تتمثل إحدى الطرق في تعيين كل قيمة إلى متغير واحد ، بينما تتمثل الطريقة الأخرى الأكثر فاعلية في تعيين قيم متعددة لمتغير واحد. هذا ما نسميه المصفوفة.
المصفوفة هي طريقة لتخزين قيم متعددة في متغير واحد. وبالتالي ، تشكل المصفوفات جزءًا مهمًا من أدوات الانتقال إلى مجتمعات البرمجة. يمكن أن تخزن المصفوفات كلاً من القيم الرقمية وقيم السلسلة ويمكن أن يكون لها أبعاد متعددة.
وبالتالي ، فإن المصفوفة التي تحتوي على أكثر من بعد واحد تسمى مصفوفة متعددة الأبعاد في PHP ، والتي سنتحدث عنها بتفصيل كبير من خلال أمثلة عملية لاحقًا في المقالة.
لفهم ماهية المصفوفة بشكل أفضل وأبعادها ، دعنا نلقي نظرة على مثال.
لنفترض أنك ذهبت إلى سوبر ماركت واشتريت علبة بسكويت. عندما تفتح العلبة ، تصطف البسكويت الواحدة تلو الأخرى. هذا يعني أنها مرتبة بطريقة خطية ، وبالتالي ، هذا مثال على مصفوفة ذات بعد واحد.
بعد ذلك ، تفكر في شراء علبة من الفواكه الجافة المتنوعة. الآن عندما تفتح العبوة ، توجد فتحات بطول وعرض الصندوق حيث يتم حفظ فواكه جافة مختلفة. يشكل هذا مثالًا على مصفوفة ثنائية الأبعاد حيث يمثل المربع المصفوفة ، وتشكل الثمار الجافة في الفتحات العناصر.

قراءة: أفكار ومواضيع مشروع PHP
عندما نتحدث عن المصفوفات ، فإننا نتحدث عنها في فترتين - ما هو نوع المصفوفة وما هي خصائصها أو سماتها. يتم تحديد نوع المصفوفة من خلال أبعادها. بهذه الفضيلة ، هناك نوعان: مصفوفة أحادية البعد أو أحادية البعد ومتعددة الأبعاد في PHP .
كما هو موضح بالفعل في الأمثلة أعلاه ، يجب أن تكون قد حصلت على فكرة عن أبعاد المصفوفة. لذلك ، للوصول إلى عنصر ما هو مصفوفة أحادية البعد ، فأنت تحتاج فقط إلى فهرس واحد.
ولكن للوصول إلى عنصر في مصفوفة متعددة الأبعاد في PHP ، فأنت تحتاج إلى مؤشرين للصفيف ثنائي الأبعاد ، وثلاثي الأبعاد للصفيف ثلاثي الأبعاد ، وهكذا. وبالتالي ، يتم تعريف المصفوفة متعددة الأبعاد على أنها مصفوفة من المصفوفات أو المصفوفات الفرعية ، حسب الحالة.
يمكن تصنيف خصائص المصفوفة على أنها رقمية أو ترابطية.
- المصفوفة الرقمية هي مصفوفة تستخدم الأرقام للوصول إلى عناصرها المخزنة في المصفوفة.
- تستخدم المصفوفة الترابطية سلاسل أو أسماء للوصول إلى العناصر المخزنة. على سبيل المثال ، اسم الموظف للوصول إلى البيانات من سجل الشركة أو الخادم.
فيما يلي بناء الجملة لتعريف مصفوفة رقمية أحادية البعد:
<؟ php
اسم المتغير $ = مصفوفة ('رقم الفهرس' => 'عنصر' ،…) ؛
؟>
أين،
"اسم المتغير $" هو اسم المصفوفة
"رقم الفهرس" يشير إلى فهرس العنصر المخزن
يشير "عنصر" إلى القيمة المخزنة
لاحظ أن رقم الفهرس الافتراضي يبدأ دائمًا بـ "0".
لنلقي نظرة على مثال
<؟ php
// برنامج لإنشاء مصفوفة رقمية ذات بعد واحد
ماركات السيارات بالدولار = مجموعة (0 => "BMW" ،
1 => "لاند روفر" ،
2 => فيراري ،
3 => "فورد" ،
4 => "تويوتا") ؛
Print_r (ماركات السيارات $) ؛
؟>
انتاج:
مجموعة مصفوفة
(
[0] => بي ام دبليو
[1] => لاند روفر
[2] => فيراري
[3] => فورد
[4] => تويوتا
)
كما نرى من الإخراج ، يتم تعيين العلامات التجارية للسيارات والوصول إليها عن طريق المفاتيح الرقمية 0 ، 1 ، 2 ، ... ، إلخ.
دعنا نلقي نظرة على مصفوفة ترابطية أحادية البعد ؛ فيما يلي بناء الجملة للنفس:
<؟ php
اسم المتغير $ = مصفوفة ('سلسلة / مفتاح' => 'عنصر' ، ...) ؛
؟>
أين،
"اسم المتغير $" هو اسم المصفوفة
يشير "سلسلة / مفتاح" إلى معرف العنصر المخزن
يشير "عنصر" إلى القيمة المخزنة
فيما يلي مثال على مصفوفة ترابطية أحادية البعد. لنفترض أننا نريد تخزين أسماء بعض البلدان والقارة المعنية التي تقع فيها.
<؟ php
الدول بالدولار = مجموعة (

"إيطاليا" => "أوروبا" ،
"الهند" => "آسيا" ،
"البرازيل" => "أمريكا الجنوبية"
"المكسيك" => "أمريكا الشمالية" ،
) ؛
صدى "المكسيك في" $ البلدان ["المكسيك"]؛
؟>
انتاج:
تقع المكسيك في أمريكا الشمالية
حان الوقت الآن لفهم كيفية عمل مصفوفة متعددة الأبعاد في PHP . ها هي البنية.
<؟ php
اسم المتغير $ = مجموعة (
Array1 ('سلسلة / مفتاح' => 'عنصر' ،…) ،
Array2 ('سلسلة / مفتاح' => 'عنصر' ،…) ، ...
) ؛
؟>
يمكننا ترتيب المصفوفات من حيث المجموعات أو الأنماط. على سبيل المثال ، يمكننا ترتيب طرازات السيارات بناءً على أنواع أجسامهم. إليك مثال على الكود.
<؟ php
أنماط جسم السيارة $ = مجموعة (
"SUV" => مجموعة ("Scorpio" ، "Harrier" ، "Creta" ، "Seltos" ، "Fortuner") ،
"Hatchback" => مجموعة ("Swift" ، "Jazz" ، "Tiago" ، "i20") "
"MPV" => مجموعة ("Ertiga" ، "Innova" ، "Triber")
) ؛
Echo $ Car Body Styles [“SUV”] [3]؛
؟>
انتاج:
كريتا
لنقم بسرعة بإنشاء مصفوفة ثلاثية الأبعاد عن طريق إضافة بيانات المبيعات إلى المثال السابق.
<؟ php
أنماط جسم السيارة $ = مجموعة (
"SUV" => مجموعة (
“Scorpio” => مجموعة (“20 يناير” => “4521” ، “20 فبراير” => “3589”) ،
“Harrier” => array (“20 يناير” => “1987” ، “20 فبراير” => “2356”) ،
“Creta” => مجموعة (“20 يناير” => “10459” ، “20 فبراير” => “9887”) ،
“Seltos” => مجموعة (“20 يناير” => “12549” ، “20 فبراير” => “13589”) ،
“Fortuner” => مجموعة (“20 يناير” => “1897” ، “20 فبراير” => “1692”) ،
) ،
"هاتشباك" => مجموعة (
“Swift” => مجموعة (“20 يناير” => “19875” ، “20 فبراير” => “18521”) ،
“Jazz” => مجموعة (“20 يناير” => “2451” ، “20 فبراير” => “2390”) ،
“Tiago” => مجموعة (“20 يناير” => “6587” ، “20 فبراير” => “8850”) ،
) ،
"MPV" => مجموعة (
"Ertiga" => مجموعة ("20 يناير" => "5680" ، "20 فبراير" => "4920") ،
“Innova” => array (“20 يناير” => “2540” ، “20 فبراير” => “2135”)
) ؛
صدى "مبيعات كريتا لشهر 20 يناير" $ أنماط هيكل السيارة ["SUV"] ["كريتا"] ["20 يناير"] ؛
؟>

انتاج:
بلغت مبيعات سيارة كريتا لشهر 20 يناير 10459
يجب أن تقرأ: أسئلة وأجوبة مقابلة PHP
خاتمة
لذلك ، يمكننا أن نستنتج أن المصفوفات هي شكل فعال ومرن لتخزين البيانات والوصول إليها. يمكن شد المصفوفات أو ضغطها حسب الحاجة ، مما يتيح سهولة التعديل. تساعدنا المصفوفات النقابية متعددة الأبعاد في تجميع البيانات ذات الصلة معًا. بصرف النظر عن ذلك ، تساعد المصفوفات في تحقيق رمز خالٍ من الفوضى وأنظف. بالإضافة إلى ذلك ، يمكنك إجراء عدد من العمليات على مصفوفة ، مثل الفرز ، والعد ، وما إلى ذلك.
إذا كنت مهتمًا بمعرفة المزيد حول PHP ، وتطوير البرامج كاملة المكدس ، فراجع دبلوم PG الخاص بـ upGrad & IIIT-B في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.