دورة PHP الجزء 3

بدأنا في دورة الـ PHP قبل أربع أسابيع تقريباً ونحن الآن في الجزء الثالث لا بأس ولكن اعتذر كثيراً عن عدم وضوح التوقيت لها لكن في الأخير بإذن الله نصل بدروس الدورة لأكبر مجموعة ممكن من المهتمين بهذه الدورة.

والدرس هنا يتعلق بالمصفوفات, فما هي المصفوفات في عالم البرمجة أولاً ؟

المصفوفات

المصفوفة نعرفها بقائمة, نعم هي قائمة بكل بساطة قائمة تحتوي على قيم ومرتبة بترتيب مثل أي قائمة في العالم

  • السعودية
  • الإمارات
  • مصر

تتكون القائمة كما طرحنا من ترتيب معين يسمى index أو key ويبدأ بشكل افتراضي بالصفر, فمثلاً السعودية رقمها 0 والإمارات رقمها 1 ومصر رقمها 2.

مع ذلك يمكننا ترتيبها بأي شكل ممكن كترتيبها حرفياً مثلاً فليس يشترط رقمياً فممكن أن نقوم بترتيبها برمجياً كالتالي السعودية (a) الإمارات (b) مصر (c) مثلاً.

المصفوفات لها استخدامات كبيرة جداً في عالم البرمجة فاحرص أن تفهمها بالكامل.

الآن تعرفنا على المصفوفة بشكل نظري, لننطلق إلى الجزء العملي والمهم في عالم البي أتش بي.

ليتم تعريف مصفوفة يمكن ذلك من خلال عدة طرق أولاً بشكل مباشر كالتالي :

<?php
  $aCountries[] = "السعودية";
  $aCountries[] = "الإمارات";
  $aCountries[] = "مصر";
?>

الآن مثلاً نبغى نختار الإمارات نكتب :

<?php
  $aCountries[] = "السعودية";
  $aCountries[] = "الإمارات";
  $aCountries[] = "مصر";
  echo($aCountries[1]); // سيطبع هنا الإمارات
?>

بكل بساطة, الآن سنتعرف لطريقة تغيير الترتيب حسب ما نريد مثلاً a b c, وهي كالتالي :

<?php
  $aCountries["a"] = "السعودية";
  $aCountries["b"] = "الإمارات";
  $aCountries["c"] = "مصر";
  echo($aCountries["b"]); // سيطبع هنا الإمارات
?>

 طريقة أخرى لتعريف المصفوفة ببساطة كالتالي  :

<?php
  $aCountries = array("السعودية","الإمارات","مصر");
  echo($aCountries[1]); // سيطبع هنا الإمارات
?>

 ولكي نقوم بترتيبها أو إعطائها keys معينه بهذه الطريقة كالتالي :

<?php
  $aCountries = array( "a" => "السعودية", "b" => "الإمارات", "c" => "مصر");
  echo($aCountries["b"]); // سيطبع هنا الإمارات
?>

لاحظ أنه يمكننا ترتيبها بالطريقة التالية :

<?php
  $aCountries = array(
      "a" => "السعودية",
      "b" => "الإمارات",
      "c" => "مصر"
  );
  echo($aCountries["b"]); // سيطبع هنا الإمارات
?>

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

بالنسبة للمصفوفات المتعددة الأبعاد هي بكل بساطة مصفوفة تتكون من عدة مصفوفات ويتم تنفيذها كالتالي :

<?php
  $aEmployees = array(
      "General Manager" => array("30000","Grade A","Medical insurance"),
      "Department Manager" => array("20000","Grade B","Medical insurance"),
      "Employee" => array("10000","Grade C","Medical insurance")
  );
?>

ويتم استدعاء أي قيمة معينه باستخدام key الخاص بها كالتالي :

<?php
  $aEmployees = array(
      "General Manager" => array("30000","Grade A","Medical insurance"),
      "Department Manager" => array("20000","Grade B","Medical insurance"),
      "Employee" => array("10000","Grade C","Medical insurance")
  );
  echo($aEmployees["Department Manager"][0]); // سيطبع هنا 20000
?>

الآن انتهينا باقي لنا نشرح أن هناك مصفوفات جاهزة للاستخدام من خلال لغة البرمجة PHP وهذه المصفوفات الجاهزة يتم تعبئتها بشكل تلقائي وذلك من خلال مثلاً نموذج تم إرساله باستخدام الطريقة POST أو GET والمصفوفة يتم استدعاءها باسم $HTTP_POST_VARS أو $HTTP_GET_VARS, سنتطرق لكيفية القيام بإنشاء نموذج وإرسال واستخدام القيم من خلالها وذلك بهذه المصفوفة الجاهزة, المهم هنا أن نعرف بأن هناك مصفوفات جاهزة أو معرفة مسبقاً يمكننا استخدامها.

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

شكراً لكم.

  • ابراهيم

    الله يعافيك ما تقصر اخوي عبد الملك
    عندي سؤال بخصوص البرجمة
    هل المصفوفات التي تستخدم للبرمجة هي نفس المصفوفات التي تستخدم بالرياضيات
    http://en.wikipedia.org/wiki/Matrix_(mathematics)
    هل لها نفس خصائص المصفوفات التي في math

    وشكرا لك

  • مرحبا أخوي ابراهيم, الله يعافيك

    برمجياً المصفوفات متعددة الأبعاد تعتبر نفسها وتبدأ بالرقم 0 و 0 إذا لم نعطي دلالة أو key حرفي

    او مختلف كالتالي :

    لكني رغم ذالك لست متأكد بالكامل بخصوص مسألة انطباقها رياضية بالمصفوفة

  • mohaned_nj

    اي هاذ الحكي المفيد
    مازلت بانتظار محاظرة ال database وكيفية رفها في المزود
    بارك الله فيك

  • mo2man

    اتمنى ان الدوره تمشى بشكل اسرع من كده

    و يكون فى توقيت محدد لنزول الدرس الجديد

  • الله يجزاك الجنة يا عبدالملك

    تحيتي لك ،،

  • وليد السودي

    درس رهيب وسلس ..لكن المتعددة الابعاد ما دخلت دماغي بعيد قرآتها ..
    كنت استفسر ..دروس التكرار والشروط if ما بناخذها بالدورة . 🙂

  • درس رهيب جدا

    واضح جدا مفهوم ما اخذ مني 10 دقائق هع هع

    انتظر بأحر من الجمر الدروس القادمة وياليت تعجلوا عشان الإختبارات النهائية على الأبواب 🙂

    جزاك الله خير

  • وسام

    مشكرو اخوي على المواضيع الرائعة فعلاً
    والحمد لله انا متابع لدروسك اخي الكريم منتظر كل جديد

    بالتوفيق إن شاء الله

    اخوكم

  • متابعه 🙂

  • عبدالرحمن أبودان

    الله يعطيك العافية ويجزاك خير

    الله يبعدك عن النار ويدخلك الجنة

    انت طبقت الحديث النبوي

    ( حب لأخيك ما تحب لنفسك )

    اللهم صلي على النبي محمد وعلى اله وصحبه وسلم

    شكراااااااا والى درس اخر باسرع وقت الله لا يهينك

  • م.عبدالله

    شكرا لك أخي عبدالملك

    درس جميل وشرح مبسط ورائع

    جزاك الله خيرا

  • محمود سيد

    السلام عليكم ورحمة الله وبركاته

    مجهود ممتاز بارك الله فيكم وربنا يعينكم لانتهاء الدوره

    بس يا ريت اخي توضحلنا مشكورا

    1- عدد أجزاء الدوره
    2- ميعاد صدور كل جزء ميعاد طرح الدروس

    ومشكور ليكم جدا مباركين باذن الله

    أرجو هذه المره ان تردوا علي ولا تتجاهلوني

    في حفظ الله

  • echo($aCountries[1]); // سيطبع هنا الإمارات

    echo($aEmployees[“Department Manager”][0]); // سيطبع هنا 20000

    كيف نعرف أي قيمة يطبع عند الرقم 1 و 0

    • في حاله انك ما اعطيت المصفوفه قيم محدده حتبدأ تلقائيا من 0 > 1 > 2 …..

  • كل شيئ مفهوم
    لكن مشكلتي بسيطة جدا وهي
    الفراغ بين كل مصفوفة قيمتها
    مثا أخطا وأكتب هذا
    echo ($yousite [0]);

  • عبدالله الزهراني

    الله يعطيك العافية ، ماقصرت درس واضح وضوح الشمس

    متحمس للتطبيق على $HTTP_POST_VARS أو $HTTP_GET_VARS

    جزآك الله كل خير

  • محمد موسى

    شرح رائع جداً من الاستاذ / عبد الملك ..
    انا اخطط من الآن بإذن الله بتنفيذ مشروع بعد تعلم لغة البي اتش بي
    والمشروع يتلخص في برنامج إدارة فندق ( حجوزات & تسكين ) من خلال النت
    وسؤالي هو .. هل بإمكاني استخدام المصفوفة بحيث لو تم إرسال قيم
    تحفظ فيها ، يعني مثلاً ( في التطبيق المخطط بإذن الله ) أقوم بحجز 30 غرفة
    من اصل 50 بحيث تكون هذه الغرف المحجوزة ترسل إلى داخل المصفوفة ؟
    أم أن هناك خصائص أخرى سندرسها لاحقاً لمثل هذه الخيارات ؟؟
    اشكرك مرة آخرى .

  • شكراً للجميع

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

  • عبد العزيز

    تسلم والله هلى الدرس .. بصراحةهاذي افضل دورة عربية لقيتها إلى الآن .

  • سبحان الله

    عجز اللسان عن الشكر
    فنوفيك حقك بالدعاء
    أن يرزقك الله جنته
    وأن يحفظك من كل سوء
    جزاك الله خيراً
    وإلي الأمام دائماً

  • شكرا لك اخى الغالى
    ويمكن اظهار نتائج المصفوفة باستخدام echo بدون وضعهم فى اقواس

تعليقات عبر الفيسبوك