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

الفارس

New member
21 فبراير 2019
1,010
0
0
كما ذكرنا سابقا , يمكن ان يكون اي عنصر من عناصر مصفوفة من أي نوع من البيانات , فإذا كانت قيمة هذا العنصر مصفوفة حصلنا على مصفوفة متعددة الابعاد .
- ويمكن تمثيل المصفوفات متعددة الابعاد على أنها مصفوفات أحادية متداخلة والتالي تمثيل مصفوفة 2X3 :









<?php$myArr[0][] = "Ahmed";$myArr[0][] = "Mostafa";$myArr[0][] = 10;$myArr[1][] = 12;$myArr[1][] = 45.99;$myArr[1][] = true;for($i = 0; $i < count($myArr); $i++){ for($j = 0; $j < count($myArr[$i]); $j++) { echo "<h3>{$myArr[$i][$j]}</h3>"; }}?>

- ولإسناد القيم دفعة واحدة عند تعريف المتغير يكون كالتالي :









<?php$myArr = array( array('Ahmed', "Mostafa", 10), array(12, 45.99, true) );for($i = 0; $i < count($myArr); $i++){ for($j = 0; $j < count($myArr[$i]); $j++) { echo "<h3>{$myArr[$i][$j]}</h3>"; }}?>

وهكذا يمكن إسناد مصفوفات داخل مصفوفات بأي عدد من الابعاد تُريد , أي يُمكن انشاء مصفوفات ذات عشر أبعاد , لكن لا يُمكن التعامل معها بسهولة (هذا اذا امكن التعامل معها اساسا ً) .

المصفوفات المترابطة :
وتكون باستخدام سلاسل نصية للـ key للمصفوفة بدلاً من الأرقام حيث كل عنصر في المصفوفة يتألف من قسمين : الأول هو المفتاح key والثاني هو القيمة value :









<?php//وضعنا فراغات في بعض عناصر المصفوفة لكي لا تظهر الكلمات ملتصقة ببعضها البعض$myArr['name'] = 'Jamal ';$myArr['age'] = 30;$myArr['city'] = ' luxor ';$myArr['phone']= 125668522;echo $myArr['name'].$myArr['age'].$myArr['city'].$myArr['phone'];?>

كما يمكن أن يكون مُعرف القيم سلاسل النصية وترقيم الرقمي معا ً للمصفوفة في مصفوفة واحدة كما سنرى , وهناك دوال مهمة لعرض محتويات وبيانات المتغيرات و المصفوفات والكائنات وهي var_dump و print_r و var_export سنستخدمها لعرض لطباعة محتويات المصفوفة من القيم والـ key لكل قيمة , وتقبل - هذه الدوال - وسيطا واحدا ً هو المصفوفة المُراد طباعتها , كما في المثال التالي :









<?php$myArr['name'] = 'Jamal';$myArr[] = "Mostafa";$myArr['age'] = 30;$myArr[] = 40;$myArr['city'] = 'luxor';$myArr[] = 'Cairo';$myArr['phone']= 125668522;$myArr[] = 124559587;echo var_export($myArr);?>