فاصلة
  • PHP
  • ?
    : ترتيب الدرس
  • 12
    عدد الدروس
  • ?
    أخر تحديث

المصفوفات Array في لغة PHP

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

  • نستخدم المصفوفات لأختصار الوقت
  • المصفوفات تحمل أكثر من قيمة وأكثر من نوع بيانات 
  • المصفوفات تختصر الأسطر البرمجية

ويمكنك أن تتخيل في حالة تسجيل كل أسماء دول العالم في متغيرات, في تلك الحالة سوف يكون هناك عدد هائل جداً من المتغيرات التي كل متغير فيها يحمل أسم دولة, لأن المتغيرات لا تحمل إلا قيمة واحدة , وسيكون لدينا متغيرات بعدد دول العالم .

والأن تخيل معي بأنك قادر علي أختصار هذا العدد الهائل من المتغيرات إلي متغير واحد يحمل كل العناصر, عن طريق المصفوفات .

<?php 
$color = array ("red","green","blue","yellow");
?>

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

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

  •   indexed Array : هي مصفوفة يتم ترتيبها عن طريق قيم عددية
  • Associative Array : هي مصفوفة يتم ترتيبها عن طريق (مفاتيح)
  • Multidimensional Arrays : مصفوفات متداخلة 

المصفوفات الرقمية Indexed Array

المصفوفات الرقمية indexed Array هي النوع الأول من أنواع المصفوفات, وما يميز هذة المصفوفة بأنه يتم التعبير عن كل خانة في المصفوفة برقم ثابت يبدأ من الصفر لأول خانة ومن ثم يتصاعد الرقم مع عدد الخانات في المصفوفة .

يمكننا أن نفترض بأنك قمت بتخزين 3 عناصر في مصفوفة, الأن كيف يمكننا أن نتحكم في كل عنصرر علي حدى ؟, مثل طباعتها او التعديل عليها او حتي أزالتها من المصفوفة, كل ذلك يكون عن طريق الترتيب الأساسي لكل قيمة في المصفوفة.

  • القيمة الأولي = 0
  • القيمة الثانية = 1
  • القيمة الثالثة = 2
<?php 
$color = array("red","green","blue");
echo $color[0]; // red

echo $color[1]; // green

echo $color[2]; // blue

?>

في المثال السابق قمنا بأنشاء مصفوفة تحمل ثلاثة عناصر ("احمر","أخضر","أزرق"), وكل عنصر لة رقم ثابت للتحكم فيه, ومع أستخدام دالة echo , قمنا بطباعة كل عنصر علي حدي بأستخدام أسم $المتغير مع  [رقم كل عنصر في المصفوفة . ]

  • اللون الأحمر = [0]
  • اللون الأخضر = [1]
  • اللون الأزرق = [2]

تعديل عنصر : يمكنك تعديل عنصر في المصفوفة وذلك عن طريق معرفة رقم العنصر الذي تريد التعديل علية, ومن ثم أستخدام علامة (=) لتعيين قيمة جديدة بدلاً عن القيمة القديمة .

$المصفوفة [رقم العنصر] = القيمة الجديدة

<?php 
$color = array("red","green","blue");
$color[0] = "black"; // change red to black

?>

 

اضافة قيمة جديدة :يمكنك أضافة قيمة جديدة إلي المصفوفة, ويوجد نوعين من الأضافات في مصفوفات لغة php , الطريقة الأولي هي طريق تلقائية  تقوم بأضافة العنصر في نهاية المصفوفة, والطريقة الثانية عن طريق تحديد مكان محدد للعنصر في المصفوفة بواسطة الترتيب الرقمي .

  • اولاً : أضافة تلقائية في نهاية المصفوفة,
  • ثانياً :  أضافة في مكان محدد من أختيارك .

الأضافة التلقائية :

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

<?php 
$color = array("red","green","blue");
$color[] = "maginta"; // أضافة قيمة جديدة إلي المصفوفة

?>

 

الأضافة المرتبة :

لأضافة عنصر في مكان محدد في المصفوفة يجب تحديد مكان العنصر اولاً ومن ثم تحديد ترتيب العنصر  وكتابة الترتيب بين الأقواس المربعة [الترتيب]

<?php 
$color = array("red","green","blue");
$color[5] = "maginta"; // أضافة قيمة جديد تحمل الرقم 5

?>

 

مصفوفة المفاتيح  Associative Array

 تستخدم مصفوفة المفاتيح, لتحديد قيمة نصية يتم معاملتها كمفتاح للقيمة الأساسية, ولنفترض بأننا نقوم بأنشاء مصفوفة تحمل ثلاثة عناصر مثل (أسم شخص, وعنوانة, وعمرة ), في تلك الحالة يمكننا أستخدام مفتاح بأسم Name من أجل أسم الشخص, ومفتاح بأسم Adress لعنوان الشخص, ومفتاح بأسم Age لعمر الشخص, وعند استدعاء القيمة يتم أستدعائها عن طريق المفاتيح. 

  1. يتم الفصل بين المفتاح وقيمتة بعلامة (<=)
  2. أسم المفتاح يكون من أختيارك
<?php 
$person = array("name" => "Mohamed","adress" => "green","age" => "blue");
echo $person["name"];
echo $person["adress"];
echo $person["age"];
?>

 

تعديل عنصر : يمكنك تعديل العنصر عن طريق أستخدام مفتاح كل عنصر تريد التعديل عليه, ومن ثم أستخدام علامة (=) لتعيين القيمة الجديدة بدلا من القيمة القديمة .

<?php 
$person = array("name" => "Mohamed","adress" => "green","age" => "blue");

$person["name"] = "Ahmed" ; // Change Mohamed To Ahmed
?>

 

أضافة عنصر جديد : يمكنك بكل بساطة أن تضيف عنصر جديد للمصفوفة عن طريق تحديد مفتاح للعنصر الجديد بين الأقواس المربعة [ ] ومن ثم تعيين القيمة الأساسية بأستخدام علامة التعيين (=) .

<?php 
$person = array("name" => "Mohamed","adress" => "green","age" => "blue");

$person["tall"] = "160 cm" ; // اضافة قيمة جديدة للمصفوفة
?>

 

مصفوفات متداخلة Multidimensional Arrays

المصفوفات المتداخلة عبارة عن مصفوفة داخل مصفوفة أخرى, ويمكننا اضافة مصفوفة داخل مصفوفة بدلاً عن العنصر العادي, ويتم التحكم في المصفوفات المتداخلة عن طريق طريق سهلة جداً,

[رقم العنصر في المصفوفة الفرعية] [رقم العنصر في المصفوفة الرئيسية ]

<?php 
$person = array("Mohamed","Khaled","Osman",array("ibrahim","abdo","Eslam"));
echo [3][0] // ibrahim

echo [3][1] // abdo
?>
 

شرح المثال : تم تحديد الرقم [3] وهو مكان المصفوفة المتداخلة في المصفوفة الرئيسية, وتم تحديد الرقم [0] وهو العنصر الأول في المصفوفة الفرعية والرقام [1] هو العنصر الثاني في المصفوفة الفرعية  .


الأدوات الأساسيات المتغيرات أنواع البيانات النصوص المصفوفات الدوال الشرطية حلقات التكرار المعاملات الثوابت المتغيرات الخارقة الجملة Switch