المصفوفات

تستخدم المصفوفة لتخزين بيانات متعددة في متغير واحد .


ماهي المصفوفة Array ؟

المصفوفة هي متغير خاص حيث يمكنه تخزين قيمة أو أكثر في نفس الوقت .

اذا كان لديك قائمة من العناصر ( كتب على سبيل المثال ) عندها يمكنك تخزينهم في متغير واحد .

مثال

$book1="كتاب البرمجة";
$book2="كتاب الحاسوب";
$book3=" قصص المغامرات";
 

ولكن ماذا لو أردت أن تجلب كتاب معين من بين هذه الكتب وماذا لو كان لديك أكثر من 300 كتاب ليس فقط 3 ؟ ماذا ينبغي أن تفعل ؟

أفضل حل هو إنشاء مصفوفة array()

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

يحتوي كل عنصر في المصفوفة على ID خاص به وبذلك يمكن استدعائه بسهولة .

يوجد 3 أنواع للمصفوفات في لغة PHP :

  • المصفوفة الرقمية : تحتوي على فهرسة رقمية .
  • مصفوفة التعيين : تتكون من مجموعة ID وكل ID يحمل قيمته الخاصة .
  • المصفوفة المتعددة الخيارات : تحتوي على مصفوفة أو أكثر من مصفوفة .

المصفوفة الرقمية

تخزن المصفوفة الرقمية كل عنصر من المصفوفة برقم مفهرس .

 هناك طريقتين لإنشاء مصفوفة

1. في هذا المثال تم تعيين الفهرسة تلقائياً (تبدأ الفهرسة من الرقم 0) .

$ myBooks = array("كتاب البرمجة","كتاب الحاسوب"," قصص المغامرات");
 

2. في المثال التالي سيتم إنشاء مصفوفة وتعيين الفهرسة يدوياً .

$myBooks [0]=" كتاب البرمجة";
$myBooks [1]=" كتاب الحاسوب";
$myBooks [2]=" قصص المغامرات";
 

مثال

في المثال التالي سيتم اختيار قيمة معينة من المصفوفة .

<?php
$myBooks [0]=" كتاب البرمجة";
$myBooks [1]=" كتاب الحاسوب";
$myBooks [2]=" قصص المغامرات";
echo "يعتبر " . $myBooks[0] . " و " . $myBooks[1] . " من أفضل الكتب العلمية";
?>
 

ستظهر النتيجة على المتصفح :

يعتبر كتاب البرمجة و كتاب الحاسوب من أفضل الكتب العلمية


مصفوفة التعيين

يمكن تحديد في مصفوفة التعيين كل قيمة مع رقم ID الخاص بها .

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

مثال 1

في هذا المثال سيتم تحديد قيم محددة اي سيتم تحديد اسم الشخص مع عمره .

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
 

مثال 2

يعتبر هذا المثال مماثل للمثال 1 ولكن يظهر طريقة أخرى لإنشاء المصفوفة .

$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
 

يمكن استخدام ID في كود المثال التالي :

<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

echo "Peter is " . $ages['Peter'] . " years old.";

?>

ستظهر النتيجة على المتصفح

Peter is 32 years old.


المصفوفة المتعددة

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

في المثال التالي سنقوم بإنشاء مصفوفة متعددة و تلقائياً محدد بـآي دي ID خاص .

$families = array (
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);
 

سيصبح شكل المصفوفة السابقة كالتالي في حال تم كتابتها كنتيجة على التصفح .

Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
))
 

مثال 2

الآن سنقوم باستدعاء أحد عناصر المصفوفة السابقة في :

<?php
echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";
?>

ستظهر النتيجة على المتصفح

Is Megan a part of the Griffin family?