على بركة الله نبدأ الدرس الثامن
الفصل الأول :بدائيات لغة PHP
*المصفوفات Tableaux- Array :تعتبر المصفوفات من أهم مقومات لغات البرمجة بعد التعابير الشرطية, سنرى خلال هذا الدرس الأخير من الفصل الأول ماذا نعني بالمتغيرات المركبة التي يمكن تخيلها على شكل مصفوفات.
قد يتبادر الى ذهنك أنه عندنا متغيرات لماذا نستخدم المصفوفات
؟؟ تخيل أن لديك أسماء أعضاء لموقعك كثيرين داخل مصفوفة وتريد أن تقوم بترتيب هذه الاسماء حسب الترتيب الأبجدي للأحرف ؟ فهل يمكن فعل ذلك بالمتغيرات ؟ ولكن مع المصفوفات بكتابة كود صغير يمكنك فعل ذلك , ناهيك عن أوامر أخرى يمكنك أن تنجزها بتعبير واحد . مهلا سوف تتضح لنا الصورة كلما تكلمنا عن المصفوفات أكثر
.
الشيء الذي يمكن أن نخلص اليه هو أن المصفوفات هي متغير بمواصفات خاصة
عموما يوجد في لغة PHP نوعان من المصفوفات , مصفوفات مرقمة أو رقمية, ومصفوفات مترابطة .
فهيا بنا يامبرمجي المصفوفات
-المصفوفات المرقمة :المصفوفات الرقمية هي المصفوفات التي يتم استعمالها عن طريق الأرقام, أي عندما أريد قيمة خانة ما من هذه المصفوفة فسوف أقوم بالاستعلام عنها بإستخدام الرقم الذي يدل عليها, اذن فلكل قيمة في المصفوفة رقم يدل عليها ويبدأ من العدد 0.
سأعطيكم مثالا لمتغير عادي وآخر للمصفوفات
.
*مثال لمتغير يحمل اسم شخص ما :
كود PHP:
$name = "Mahmmod";
echo "Hello $name!"; // Cela affichera : Hello Mahmmod !
?> *مثال للمصفوفات : هنا سنرى أنه من الممكن تسجيل عدد كبير من المعلومات في متغير واحد
كود PHP:
// La fonction array permet de créer un array
$prenoms = array ("Mahmmod", "Ahmed", "Yassine", "Ali", "Karim");
?> اكتفيت بادخال خمسة عناصر فقط على عكس ذلك يمكنكم ادخال عدد كبير من الأسماء.
وكما تلاحظون فان الدالة array فهي التي تقوم بادخال العناصر الى المصفوفات
والآن دعونا نلاحظ الفرق بين المثالين, فلو أردنا ادخال الأسماء الخمسة في متغيرات منعزلة ستكون النتيجة على الشكل التالي :
كود PHP:
$prenoms1 = "Mahmmod" ;
$prenoms2 = "Ahmed" ;
$prenoms3 = "Yassine" ;
$prenoms4 = "Ali" ;
$prenoms5 = "Karim" ;
?> اذن فماهي أفضل طريقة لتخزين المعلومات ؟
سأترك الاجابة لكم
توجد طرق أخرى لكتابة المصفوفات :
كود PHP:
$prenoms[ ]="Mahmmod";
$prenoms[ ]="Ahmed";
$prenoms[ ]="Yassine";
$prenoms[ ]="Ali";
$prenoms[ ]="Karim";
?> هاته الطريقة هي نفسها الطريقه الاولى عند استخدامنا للعبارة array
لا تنسى أن طريقة التعامل مع المصفوفات نفسها مع المتغيرات , فلو أردنا أن نضع مصفوفة في مصفوفة أخرى سوف نستخدم المعامل ( = ) , أنظر المثال التالي:
كود PHP:
$prenoms = array ("Mahmmod", "Ahmed", "Yassine", "Ali", "Karim");
$firstname = $prenoms;
?> ملاحظة : يمكننا وضع أي نوع من البيانات داخل المصفوفات, سواء نصوص , أو حروف , أو أرقام وغيرها
ولو أدرنا تغيير قيمة العنصر الثالث في المصفوفة فسوف نقوم بالتالي :
كود PHP:
$prenoms = array ("Mahmmod", "Ahmed", "Yassine", "Ali", "Karim");
$prenoms[2]="Yass";
?> نأتي الآن الى كيفية طباعة المصفوفات ,عموما هناك طريقتن للطباعة سواءا أردتم طباعة عناصر المصفوفة تباعا أو عنصر محددا :
*الطريقة الأولى :
كود PHP:
// On crée notre array $prenoms
$prenoms = array ("Mahmmod", "Ahmed", "Yassine", "Ali", "Karim");
// Puis on fait une boucle pour tout afficher :
for ($numero = 0; $numero < 5; $numero++)
{
echo $prenoms[$numero]; // affichera $prenoms[0], $prenoms[1] etc...
echo "
"; // pour aller à la ligne
}
?> الطريقة التانية :اذا أردنا طباعة الأسم الأول والثالث فقط
كود PHP:
echo $prenoms[0];
echo "
";
echo $prenoms[2];
?> مذهل
, أليس كذلك ؟
-المصفوفات المترابطة :نفس الشيء الذي قلناه على المصفوفات الرقمية فهو ينطبق على مثيلتها المترابطة
الشيء الوحيد الذي يختلفان فيه هو أنه عوض أن نستعلم على المصفوفات بأرقام سنستعلم عليها بأسماء
سأعطيكم مثالا:اذا رغبت أن أسجل معلومات شخص ما (الأسم,اسم النسب,العنوان,المدينة وغيرها) في نفس المصفوفة فاذا استخدمت المصفوفة المرقمة فكيف لي أن أعرف أن الرقم 0 للأسم أو للعنوان أو لغيره
لذا وجدت المصفوفات المترابطة ولأنشائها نستعمل دائما الدالة array وسأضع بين أيديكم مثالا:
كود PHP:
// On crée notre array associatif :
$coordonnees = array (
"Prénom" => "Yassine",
"Nom" => "Taha",
"Adresse" => "3, rue du Paradis",
"Ville" => "Casablanca");
?> ولطباعة المصفوفة المترابطة :
كود PHP:
echo $coordonnees['Prénom'];
echo "
";
echo $coordonnees['Nom'];
echo "
";
echo $coordonnees['Ville'];
?> مفهوم أليس كذلك؟ عوض الأرقام نستعمل أسماء عناصر المصفوفة
ولتعديل عنصر من المصفوفة :
كود PHP:
$coordonnees['Ville']="Casa";
?> المصفوفات المترابطة جد مهمة وسنحتاجها في الفصل الثاني من دورتنا وخصوصا في التعامل مع قواعد البيانات
الى هنا نصل الى نهاية الدرس الأخير من الفصل الأول من دورتنا أتمنى أن يروقكم ولا تترددوا بطرح أي سؤال اذا كان هناك شيء غير مفهوم
الى اللقاء في الدرس القادم ان شاء الله