نظره عامه عن المصفوفات : تعتبر المصفوفات انجاز كبير في لغات البرمجه, مهلا ماهي المصفوفات اولا ؟ لنقم بشرحها خارج نطاق الكمبيوتر, لو قلنا ان لديك اليوم وليمه وكثير من الاصدقاء والاقارب سيقومون بزيارتك, ذهبت الى البقاله اشتريت ببسي بعدد الموجودين , واحد تلو الاخر , فاضريت الى الاشياء التاليه, ان تحمل اكياسا كثيره اولا , دفع مبلغ اكثر ثانيا اليس ذلك صحيحا ؟ ولكن لو قمت بشراء كرتون واحد بسعر اقل وسهل الحمل , فتكون وفرت على نفسك الكثير, ترجم الان ما قلته لك الى عالم الكمبيوتر والمصفوفات, المصفوفات مثل المتغيرات , مكان نقوم بوضع قيمه به, اي المصفوفه عباره عن متغير توضع به قيم عديدة, والفرق ان المتغير يحوي قيمه واحده ولكن المصفوفه تحتوي على قيم كثيره , وبالاحرى غير محدوده, اذن لنقل الان ان المصفوفات تعتبر انجاز كبير في لغات البرمجه, وتعتبر اللغه التي لا تقوم بدعمها ناقصه او ليست جيده. واعتقد ان مثال الوليمه قد وضح لك لماذا المصفوفات ( المبلغ نعني به الذاكره المستخدمه ) , ( الحمل نعني بها طريقة وضع القيم ).
المصفوفات في لغة PHP :
دعمت المصفوفات في لغة PHP من فترة ليست بالقريبه, وتستخدم بشكل كبير سواء في
PHP وغيرها , ومن دعم اللغه الى المصفوفات توجد هناك عشرات الدوال الخاصه بالمصفوفات مثل النسخ والالغاء والمسح والطباعه و و و …., حتى ان بعض دوال لغة PHP تقوم بإعطاءك الناتج الذي تريد على شكل مصفوفه ومرورا بالاستعلام من قواعد البيانات فسوف يكون الناتج على شكل مصفوفه ايضا, ولكن كل هذا الحديث سابق لاوانه , فسوف نقوم في البدايه بمعرفة المصفوفات وانواعها والتعامل معها, ثم نأتي الى دوالها وخواصها في دروس قادمه ان شاء الله.
لماذا المصفوفات :
قد تتسائل , عندنا متغيرات لماذا نستخدم المصفوفات , سوف تجيب على هذا السؤال بنفسك عندما تستخدم المصفوفات , تخيل ان لديك اسماء اشخاص كثيرين داخل مصفوفه وتريد ان تقوم بترتيب هذه الاسماء من ناحية الاحرف ؟ فهل يمكن فعل ذلك بالمتغيرات ؟ ولكن مع المصفوفات بكتابة كود من 4 احرف يمكن فعل ذلك , غير مسألة الطباعه وغيرها الكثير , لا استطيع حصرها لك الان ولكن سوف توضح كلما تكلمنا عن المصفوفات اكثر.
انواع المصفوفات :
يوجد في لغة PHP نوعان من المصفوفات , مصفوفات رقميه, ومصفوفات حرفيه , في البدايه سوف نقوم بتعلم المصفوفات الرقميه لانها الاساس , وفي الدرس القادم سوف نعرف المصفوفات الحرفيه , بعد ذلك يسكون لديك الاختيار بين استعمال الحرفيه او الرقميه ( جميعهم يؤدون نفس العمل ).
المصفوفات الرقميه :
اعني بالمصفوفات الرقميه , المصفوفات التي يتم استعمالها عن طريق الارقام, اي عندما اريد قيمه من هذه المصفوفه فسوف اقوم بالاستعلام عنها بإستخدام الرقم الذي يدل عليها, اذن نعرف ان لكل قيمه في المصفوفه رقم يدل عليها وغالبا يبدأ من العدد 0 وطبعا يمكن ان تقوم بتغير ذلك. لنجعل لها اسامي وهو الافضل , القيم الموجوده بالمصفوفه نسميها عناصر, والارقام الموضوع لكل قيم في المصفوفه نسميها فهرس , او المفتاح.
انشاء المصفوفات الرقميه :
دعني اوضح لك مفهوم المصفوفه اكثر , انظر الى الصوره التاليه :
لدينا الان منتجات في بقالتنا , فبدل من ان نكتب 5 متغيرات بعدد المنتجات , نقوم بإنشاء مصفوفه اسمها منتجات , ونضع داخلها اسماء منتجاتنا , وضحت الصوره ؟ لنقم مع بضعنا انشاء هذه المصفوفه , افتح محرر الاكواد وقم بكتابة التالي :
فبنظرك الان , ماهو الافضل طريقة المصفوفه ام الطريقه التاليه :
سأترك الاجابه لك
يوجد لدينا طريقه اخرى لكتابة المصفوفات , وكل منهما يؤدي نفس العمل , في بعض الاحيان تحتاج ان تعرف رقم القيم في المصفوفه , واحيانا لا تحتاج الى ذلك , وكل واحد منهما له استخدام , ولكن ما يمكن فعله بواحده فمأكد 100%100 انك تستطيع القيام به مع الاخرى, انظر الطريقه الثانيه الان :
هي نفسها الطريقه الاولى عند استخدامنا للعباره array , ولكن هنا نقوم بتحدد الاماكن بأنفسنا , ونعرف عند انشاء المصفوفه مفتاح كل عنصر بها. ولك الحريه بإستخدام واحده من الطريقتين. ( العباره array معرفه مسبقا داخل لغة PHP ولا يمكن استخدامها , لاتنسى ذلك ).
لنرى مثال اخر الان يفضل استخدام النوع الثاني على النوع الاول, نريد ان نقوم بتعبة عناصر المصفوفه بالرقم 1 الى الرقم 5 , كيف نقوم بفعل ذلك ؟؟؟ افتح محرر الاكواد واكتب التالي :
لا تنسى ان طريقة التعامل مع المصفوفات نفسها مع المتغيرات , فلو اردنا ان نضع مصفوفه منشئه مسبقا في مصفوفه اخرى سوف نستخدم المعامل ( = ) , انظر المثال التالي:
ملاحظه : يمكننا وضع اي نوع من البيانات داخل المصفوفات, سواء نصوص , او حروف , او ارقام وغيرها
ولو اردنا تغيير قيمة العنصر الثاني في المصفوفه فسوف نقوم بالتالي :
طباعة المصفوفات الرقميه :
قم بإنشاء مصفوفه وقم بطباعتها كالمتغير , ماذا ستلاحظ ؟؟ لا يمكنك طباعتها , وسوف تجد ان ناتج الطباعه هو array فقط. اذن كيف نقوم بطباعة المصفوفه ؟ نقوم بطباعتها بالوصول الى كل عنصر على حده وطباعته لوحده , انظر المثال التالي :
لو فكرت قليلا , ستلاحظ ان الاسطر تتكرر نفسها , والذي يتغير فقط المفتاح , اذن نستطيع ان نستخدم دالة تكرار لتقوم بعمل الطباعه بدلا من ان نقوم بكل سطر على حده , اكتب في محرر الاكواد التالي :
استطعنا طباعة العناصر لاننا نعرف كم قيمه موجوده لدينا بالمصفوفه ؟ ولكن لو لم نعرف كم عدد القيم , فماذا نفعل ؟ سهل جدا , نستخدم الداله count , وتقوم هذه الداله بإخبارك كم عنصر موجود لديك بالمصفوفه, انظر التالي :
الان لنقم بطباعة المصفوفه التي لا نعلم عددها , كيف نفعل ذلك ؟؟ لاحظ ان في الداله for نقول اطبع لنا العناصر الى ان يصل عدد المتغير i الى اصغر من 3 , والعباره count اخرجت لنا الرقم 3 , اذن نجعل شرطنا في طباعة المصفوفه الى ان يكون العدد اقل من عدد العناصر, اكتب في محرر الاكواد التالي :
هل وضحت الان طريقة عمل المصفوفت الرقميه , لا تخف , رأيت كثيرا من اصدقائي لا يحبون المصفوفات او يتعقدون منها وعند التركيز عليها يتقنونها , وهي سهله جدا , فقط اقرأ الدرس جيدا واذا لم تفهم اقرأه مره اخرى , واذا استصعب عليك ارسل لي بريدا الكترونيا وسوف يسعدني ان اوضح لك النقطه التي لم تفهمها, ولكن تذكر انه يجب ان تتقن المصفوفات جيدا , فهي تعتبر شي رهيب في لغة البرمجه وسوف تساعدك كثيرا عندك كاتابة برامجك في المستقبل.