شرح المصفوفات من نوع Multidimensional Array في لغة PHP الدرس|10| - Programmer Tech

Programmer Tech

تعلم البرمجة - علوم الكمبيوتر - أمن المعلومات - القرصنة الأخلاقية

إعلان اعلى المقالة

الثلاثاء، 17 نوفمبر 2020

شرح المصفوفات من نوع Multidimensional Array في لغة PHP الدرس|10|


 

مصفوفة Multidimensional في PHP

في الدروس السابقة تعرفنا علي مجموعة من انواع المصفوفات Array وهي Associative Array  و Indexed Array و تعرفنا على كل نوع من أنواع array ماذا يفعل, لكن في هذا الدرس سوف نتعرف على النوع الثالث و هو Multidimensional Array.

 

ماهي مصفوفة Multidimensional Array؟

هي عبارة عن مصفوفة يمكننا إنشاء بداخلها مجموعة من المصفوفات مثل Indexed Array and Associative Array في الدروس السابقة كان لا يمكن فعل هذا مع indexed Array أو Associative Array حيث كانت كل واحدة منهم مختصة بشيئ, كان يمكن إنشاء مصفوفه داخلها مصفوفه من indexed Array وكذلك الأمر كان ينفع مع النوع الثاني و هو Assocarive Array وكان لا يمكن أن يحدث العكس وهو الذي داخل indexed Array داخل Assocative Array لكن يمكن أن يحدث هذا مع Array Multidimensional لنأخذ بعض الأمثلة على هذا النوع و نتعرف كيف يعمل, لكن في البداية هذا شكل كتابة Array.

[ 3 ] Array Multidimensional
        Syntax :

        array(

            array( Element , Element , Element),
            array( Element , Element , Element ),
            array( Element , Element , Element ),


        )


مثال 1

Array php


في المثال السابق قمنا بإنشاء مصفوفة داخل متغير بإسم Array و بها مجموعة من المصفوفات الفرعية بداخلها, و لنفرض أن المصفوفة ستكون الدورات الذي سيقدمها موقعنا خلال الأيام الخمس القادمة, تحمل المصفوفة الفرعية رقم 0 اللغات الذي سنقدمها في اليوم الأول و هي  #Python And Java And C و في اليوم الثاني سنقدم اللغات Html And Html5 And Css3 ثم سيستخدم الموقع تلك اللغات المذكورة في المصفوفة رقم 0 في الشبكات و سيتم إستخدام python في الشبكات وكذلك java و #C, اظن انكم فهمتوا الطريقة, لآحظوا عند طبع جميع محتويات المصفوفة الرئيسية و كما نعرف أنها بإسم Array و بإستخدام print_r يمكن طبع المصفوفة

 
مصفوفة رئيسية تحمل مجموعة من المصفوفات الفرعية, كما يمكن طبع شيئ معين من داخل المصفوفات الفرعية لأن كل مصفوفة فرعية لها رقم و لنفترض أننا نريد طبع دورة html index الموجودة داخل المصفوفة الفرعية رقم 3 و html index عنصر رقم 0 كما تشاهدوا في الصورة  و يمكن الطباعة من خلال الكود [echo $Array[3][0, لآحظوا تحدثوا مع الكود بالضبط كأنكم تتحدثون مع أحد اصدقائكم, قلت له إطبع من داخل المصفوفة الرئيسية المصفوفة الفرعية الذي رقمها 3 و من داخل المصفوفة الفرعية إطبع العنصر رقم 0 الذي هو html index.

لكن إلى الآن المثال لم يكن معقد هذا فقط مصفوفة داخل مصفوفة, لنقوم بتعقيد المثال اكثر من خلال مثال آخر.
 
مثال 2
لنفترض على سبيل المثال الدورات المذكورة داخل المصفوفة الفرعية رقم 3 الذي بها html index و html5 index و css3 style index.1.2 و نريد أن نذكر فريق العمل الذي يعمل على تلك الدورات داخل مصفوفة بها مجموعة من المصفوفات الفرعية, يعني سيكون مصفوفة فرعية داخل مصفوفه فرعية اخرى و ستكون تلك المصفوفة لها صلاحيات معينة عن المصفوفات الفرعية الذي بداخلها و سيكون فريق العمل الذي يقدم تلك الدورات هم Ali و Ahmed و date و kaissar و lana و spider.

شاهد كيف تم تنفيذ العملية و نحن نعرف الآن بأن المصفوفة رقم 4 بها مصفوفات فرعية ايضاً و هنا يكون بها مصفوفة فرعية رقم 0 و بها عناصر و ايضاً يوجد مصفوفة اخرى رقمها 1 و بها عناصر و نحن الآن نريد أن نقوم بطبع spider الموجود داخل المصفوفة الفرعية رقم 1 و المصفوفة الفرعية رقم 4 دخل مصفوفة رئيسية بإسم Array و سيكون كود الطبع [echo $Array[4[[1][2.
Array php

و إذا لم تفهم شاهد العناصر في الصور ذات اللون الأصفر و انت ستفهم الأمر اكثر, و كما يمكن إنشاء مصفوفة فرعية داخل مصفوفة فرعية في أي مكان داخل المصفوفة الرئيسية, لكن لي الان نحن نتعامل مع indexed Array وهي بنا ناخذ مثال عن كيفية انشاء مصفوفة من نوع Associative Array .
 
مثال 3

Array php

في الصورة لم يتغير شيئ سوى نوع المصفوفة و قمنا بتحويل المصفوفة من نوع Indexed Array إلى Associative Array و سيكون شكل المصفوفة بعد الطباعة
php Array
 
وكما يمكن أن تقوم بطبع أي عنصر من داخل أي مصفوفة على سبيل المثال نريد طبع عنصر html5 من داخل مصفوفة Dey 2 و سيكون شكل العملية أثناء طبع العنصر [echo $Array ['Dey 2'][0, لنقوم بإنشاء مصفوفات فرعية داخل كل مصفوفة و تلك المصفوفات ستكون أسماء الأشخاص الذي يقدمون كل دورة منهم.

php Array

شاهدوا كيف كان الكود من قبل و الآن, تمت إضافة الأشخاص العاملين على الدورات و تم إضافة المصفوفات الفرعية بطريقة جيدة, لآحظوا الآن كيف سيكون الناتج على السيرفر.
ِArray php
 
الآن يمكن طباعة أي عنصر من داخل أي مصفوفة فقط كل ما عليك هو معرفة إسم العنصر و اين يقع العنصر, على سبيل المثال نريد طبع إسم الشخص الذي يقدم دورة c#, network كيف سيكون عملية الطبع؟ستكون عملية الطباعة بالشكل
echo $Array['Dey 3'][3]['c# network']
 
الآن اصبح كل شيئ واضح و إن لم تفهموا الأمر اكتبوا استفساراتكم في تعليقات هذا الدرس.

ليست هناك تعليقات:

إرسال تعليق

facebook

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *