التعرف على المصفوفات في لغة PHP الدرس |8| - Programmer Tech

Programmer Tech

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

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

الاثنين، 27 أبريل 2020

التعرف على المصفوفات في لغة PHP الدرس |8|


المصفوفات(Array)

هي مجموعة من العناصر المفهرسة حيث كل عنصر له رقم وتعريف خاص به, الأمر سهل, توضيح للأمر اكثر ( تصور قائمة من الكلمات فصلنا بينهم بإستخدام فاصلة تسمى القائمة المفصولة بفواصل)  وستكون بذلك الشكل

 kaissar , data , spider ,Ali , Lana , Ahmed

هذه هي الفكرة وتذكر عندما تحدثت معك في الأعلى, هي مجموعة من العناصر يكون لكل عنصر اسم ورقم خاص به, دور المصفوفات هي إعطاء كل اسم من تلك الاسماء رقم وتعريف حتى استطيع ان استخدمها في السكربت.

انواع المصفوفات Array

يوجد لدينا ثلاث انواع للمصفوفات سوف نشرح كل واحدة منهم على حدى وهم :

1- indexed Array
2- Associative Array
3- Multidiminsional Array

هذه ثلاث انواع من المصفوفات وسيتم تقطيع عدد المقالات الى ثلاث دروس وفي كل درس سيتم سيتم شرح احدها, حتى تكون الصورة واضحة لذلك هيا بنا نبدأ في اول نوع وهو indexed Array.

indexed Array

قبل البدء هل تعرف وظيفة المصفوفات؟ تخيل معي ان تقوم ببناء برنامج و ذلك البرنامج يحتوي على مجموعة كبيرة من الموظفين في شركة, هل ستقوم بوضع كل اسم داخل متغير؟ ممكن أن يكون عدد الموظفين اكثر من 1000 ماذا تفعل هنا؟ عليك بالمصفوفات.

مثال
اكتب برنامج يقوم بتعريف لغات البرمجة الخاصة في websit بداخل مصفوفة.
<?php
$lng = array("html" , "html5" , "css" , "css3" , "js" , "php"); 
print_r($lng);
?>

لاحظ كيف قمنا بإنشاء اول مصفوفة, استخدمت متغير lng و داخل المتغير توجد مصفوفة Array اي أنها الدالة المسؤوله عن طباعة المصفوفات من نوع indexed array, ثم تقوم بإدخال الـ index الذي نريده بين الاقواس.

و الصورة العامة لكتابة مصفوفة من نوع indexed array تكون بالشكل, نكتب متغير + ِArr

$name = array(Element , Element , Element); ,

الدالة الثانية print_r هي الدالة المسؤولة عن طباعة البيانات داخل المصفوفة, ليس مثل echo هي تقوم بطباعة كل محتويات المصفوفة من حيث الأسم ورقم التعريف الخاص بكل index ويبدء من الصفر إلى لا نهاية وسيكون الناتج في السيرفر بذلك الشكل.

Array ( [0] => html [1] => html5 [2] => css [3] => css3 [4] => js [5] => php )

ويمكن استخدام الوسم <pre > لسطر للأسفل لكل اندكس
<?php
$lng = array("html" , "html5" , "css" , "css3" , "js" , "php"); 
echo "<pre>";
print_r($lng);
echo "<pre>";
?>

الناتج في السيرفر يكون


الآن احدكم سيقول اخي قيصر انت قلت بأن المصفوفات هي مجموعة من العناصر حيث كل عنصر له تعريف و رقم, كيف انادي على احد الاندكس الداخلي من خلال الرقم مثل على طبيعة الحال الاندكس الذي يملك الأسم html له رقم, اذا كنت تريد طباعة عنصر من خلال الرقم عليك استخدام الدالة echo بدل من print_r هي الدالة مسؤولة فقط عن طباعة محتويات المصفوفة بالكامل وليس عنصر داخله و إذا كنت تريد طباعة عنصر من خلال الرقم عليك استخدام
echo $lng[0]

تقوم بجلب رقم العنصر و تضعه داخل الأقواس بعد المتغير, لكن الآن هذه المصفوفة ليست ذكية, و نريد التطوير اكثر من ذلك, ممكن ان يكون هناك مصفوفة داخل مصفوفة.

مثال
<?php
$lng = array("html" , "html5" , "css" , array("font", "size") , "js" , "php"); 
echo "<pre>";
print_r($lng);
echo "<pre>";
?>

لآحظ كيف تم كتابة المصفوفة داخل مصفوفة و يستخدم هذا النوع من المصفوفات لذكر شيئ داخل عنصر, على سبيل المثال العنصر css3 يكون به font,size و هما الخط و الحجم و سيكون في السيرفر بالشكل


لاحظ كيف كان الناتج في المتصفح بأن يقول لك بأن النوع الثالث من هذا الاندكس هو مصفوفة و كل عناصر مثل size , font و أيضاً له ارقام لكل عنصر, كيف نقوم بطباعة عنصر font ؟
<?php
$lng = array("html" , "html5" , "css" , array("font", "size"), "js" , "php"); 
echo $lng[3][0];
?>

فقط نكتب ارقام العناصر بالترتيب داخل الأقواس, نحن نعرف بأن array الداخلية هي احد العناصر و لها رقم و هو 3 و تمتلك مجموعه من العناصر داخلية ايضاً مثل font و رقمها 0 و يتم الطباعه عبر
echo $lng[3][0].

الآن المصفوفة ليست ذكية دعونا نطور الأمر اكثر و نستخدم الحلقات for في المصفوفة
<?php
$lng = array("html", "html5", "css",array("font" , "size") , "js" , "php" );
echo "<ul>";
for ($i= 0; $i< count($lng) ;$i++){
echo "</ul>";
echo "<li>" . $i . "</li>";
}
?>
لآحظ قمنا بإنشاء loop حتى يتم طبع عدد العناصر الموجودة في المصفوفة array و استخدمنا معها الدالة count, نقول هنا المتغير i=0 ثم نقول المتغير i<count للمتغير lng ثم i++ نقول هنا تزداد قيمة اي كل مرة لحين تصل الى عدد العناصر الموجودة في array و سيكون الناتج ارقام العناصر فقط.
اذا كنت تريد طبع عنصر معين عليك بكتابة رقم العنصر echo $lng[2] و اذا كنت تريد طباعة اسماء العناصر داخل اللوب ما عليك فقط كتابة اسم المتغير الذي يحوي بيانات المصفوفة في دالة الطبع بالشكل
<?php
$lng = array("html" , "html5" , "css" , "css3" , "js" , "php"); 
echo "<ul>";
for ($i= 0; $i< count($lng) ;$i++){
echo "</ul>";
echo "<li>" . $lng[$i]. "</li>";
}
?

وسوف يكون الناتج داخل قائمة غير مرتبة ul كالتالي
.html
.css
.php
.js

المصادر

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

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

authorمبرمجين ويب و محبين للتقنية و الشبكات و امن المعلومات و سوف نقدم لكم الافضل إن شاء الله
أعرف المزيد ←

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

الاسم

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

رسالة *

اقسام