المصفوفة متعددة الأبعاد في 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 ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

كن مطورًا للمكدس الكامل

برنامج UPGRAD و IIIT-BANGALORE دبلوم PG في تطوير برامج المكدس الكامل
يتعلم أكثر