المصفوفة من نوع Arrays Associative في لغة PHP الدرس |9| - Programmer Tech

Programmer Tech

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

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

الاثنين، 31 أغسطس 2020

المصفوفة من نوع Arrays Associative في لغة PHP الدرس |9|


Array Associative

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

هذا النوع من المصفوفات يأخذ مفتاح و قيمة أي انها key : value في الدرس السابق المصفوفات النوع الأول هو indexed array يتم فقط تحديد القيمة value فقط و بناءً على ذلك يتم تحديد المفتاح لكن في ذلك النوع يتم إعطاء قيمة للمفتاح او اسم لكن يجب أن يكون من نوع ارقام int او نصوص string دعونا نأخذ مثال على اساس انك طالب يدرس في جامعة القاهرة في مجال البرمجة وتأخذ مجموعة من اللغات وتريد ان يتم تحديد مستواك في كل لغة.

مثال 1
<?php
 $langs = array(
  "html5"                 => "50%",
  "css3"                    => "60%",
  "javascript"           => "30%",
  "php"                     => "70%",
  "python"                => "80%",
 );
?>

شرح المثال السابق

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

مثال 2
<?php
 $langs = array(
  "html5"               => "50%",
  "css3"                  => "60%",
  "javascript"         => "30%",
  "php"                   => "70%",
  "python"              => "80%",
 );
   foreach ($langs as  $kaissar){
    echo   $kaissar ;
   };
?>

شرح المثال

قمنا بإنشاء foreach لتقوم بعمل دوران على القيم الموجودة داخل Array ثم قمنا بإنشاء متغير بإسم kaissar الذي سيبحث في ما يحتويه المتغير langs ثم سيقوم بطباعة الدوران وسيكون الناتج على السرفر
 50%60%30%70%80%

لكن الآن الصورة ليست جيدة دعونا نقوم بطباعة الإخراج داخل قائمة غير مرتبه وسيكون الكود او الشفرة البرمجية بذلك الشكل
<?php
 $langs = array(
  "html5"             => "50%",
  "css3"     => "60%",
  "javascript"          => "30%",
  "php"    => "70%",
  "python"            => "80%",
 );
  echo "<ul>";
   foreach ($langs as  $kaissar){
    echo "<li>" . $kaissar . "</li>";
   };
   echo "<ul>";
?>

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


لكن الآن foreach قامت بطبع القيمة فقط ولم اعرف ما هي العناصر الذي تحتوي على تلك القيمة لنقوم بتطوير الكود ليقوم بطبع العنصر + القيمة الذي يحملها.
<?php
 $langs = array(
  "html5"             => "50%",
  "css3"     => "60%",
  "javascript"          => "30%",
  "php"    => "70%",
  "python"            => "80%",
 );
  echo "<ul>";
   foreach ($langs as  $programmer => $kaissar){
    echo "<li>" . $kaissar ." => ". $programmer .  "</li>";
   };
   echo "<ul>";
?>

شرح ما سبق

قمنا بإستخدام foreach لتقوم بعمل دوران على القيمة و المفتاح value and key هذا ما تفعله foreach عن الدوران الأخرى لأنها تحتوي على قيمة و مفتاح, قمنا بإنشاء متغير بإسم programmer ليبحث داخل العنصر في المصفوفة وكما قمنا بإنشاء متغير آخر بإسم kaissar  ليبحث داخل القيمة وسيكون الناتج على السيرفر بالشكل 


الآن السؤال هنا كيف يمكنني إضافة عنصر جديد؟ يمكنك إضافة العنصر الجديد بذلك الشكل
<?php
 $langs = array(
  "html5"     => "50%",
  "css3"    => "60%",
  "javascript"  => "30%",
  "php"   => "70%",
  "python"    => "80%",
 );
$langs{"mysql"}="88%";
  echo "<ul>";
   foreach ($langs as  $programmer => $kaissar){
    echo "<li>" . $kaissar ." => ". $programmer .  "</li>";
   };
   echo "<ul>";
?>

شرح الكود السابق

قمنا بإضافة عنصر جديد بإسم mysql + القيمة 88% لكن لآحظ كيف قمنا بإسناد قيمة او عنصر داخل المتغير lange من خلال الأقواس, نقول للمفسر الخاص في php قم بإنشاء او بإسناد قيمة على محتويات او قيم المتغير lange من نوع array ويفهم هنا المفسر أن هذا نوع من انواع البيانات من array لكن لآحظ معي قمت داخل الأقواس بتسمية العنصر الذي هو mysql وسيكون الناتج على السيرفر بالشكل.


لكن ماذا اذا لم اضع اسم العنصر داخل الأقواس, هنا سيفهم المفسر ان هذا النوع من البيانات هو array لكن من نوع indexed array وسيتم إضافة اسم العنصر بالترتيب من 0 إلى & دعونا نفعل ذلك الآن
<?php
 $langs = array(
  "html5"     => "50%",
  "css3"    => "60%",
  "javascript"  => "30%",
  "php"   => "70%",
  "python"    => "80%",
 );
$langs[]="88%";
$langs[]="78%";
$langs[]="84%";

  echo "<ul>";
   foreach ($langs as  $programmer => $kaissar){
    echo "<li>" . $kaissar ." => ". $programmer .  "</li>";
   };
   echo "<ul>";
?>

سيفهم الآن المفسر ان هذا النوع من البيانات هو array indexed وسيقوم بتسمية العناصر لوحده وسيكون الناتج في السيرفر بالشكل


نأتي الآن إلى انواع البيانات الأخرى الذي يمكن إضافتها داخل المصفوفة وهي null وتعني قيمة فارغة و True وتعني 1 false وتعني 0 وسيكون المثال بذلك الشكل.

<?php
 $langs = array(
  null     =>"53",
  true     => "54",
  false     => "55",
  "html5"     => "50%",
  "css3"    => "60%",
  "javascript"  => "30%",
  "php"   => "70%",
  "python"    => "80%",
 );
  echo "<ul>";
   foreach ($langs as  $programmer => $kaissar){
    echo "<li>" . $kaissar ." => ". $programmer .  "</li>";
   };
   echo "<ul>";
?>

http://www.mediafire.com/file/fy93ealksl96szg/array.txt/file

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

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

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

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

الاسم

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

رسالة *

اقسام