أساسيات البرمجة برمجة المواقع بي اتش بي المصفوفات PHP Arrays
أساسيات البرمجة برمجة المواقع
بي اتش بي المصفوفات PHP Arrays
ماهي المصفوفات Arrays؟
المصفوفات عبارة عن مجموعة من البيانات لنوع معين على سبيل المثال لا يمكن تعريف مصفوفة رقمية ونضغ فيها عناصر نصية.بمعنى يجب ان تكون عناصرها من نفس النوع.يتم تخزن المصفوفة في مكان في الذاكرة يسمى Managed Heap ومن هنا نستنتج أن المصفوفات هي مرجعية القيمة Reference Value. أي يتم الوصول لعناصرها بالمرجع. المصفوفة أشبه بجدول يتكون من صفوف و أعمدة حيث انه يمكن الوصول للخلية في الجدول بتقاطع رقم الصف مع العمود وكذلك بالنسبة للمصفوفات ثنائية البعد أو مصفوفات المصفوفات.للوصول للمصفوفة يتم عن طريق فهرس المصفوفة. ويسمى فهرس المصفوفة بال index.
لغة الي اتش بي PHP أعطت مرونة بعكس اللغات البرمجية الاخرى بحيث يمكن أن يكون فهرس المصفوفة نصي.بينما لغات الاخرى لا تسمح بذلك مثل تعريف المصفوفات في لغة الس شارب c#.
صورة للمصفوفات |
أنواع المصفوفات في البي اتش بي PHP
توجد ثلاث أنواع من المصفوفات يمكن تعريفها داخل لغة الي اتش بي.
- المصفوفة الرقمية Numeric array وهي مصفوفة يكون فيها فهرس المصفوفة رقمي.
- المصفوفة المترابطة وهي مصفوفة يكون فيها فهرس المصفوفة نصي.
- المصفوفة متعددة الابعاد Multidimensional array وهي مصفوفة تحتوي على مصفوفة أو أكثر من المصفوفات والقيم ويتم الوصول اليها بعدة فهارس.
أولا: المصفوفات الرقمية.
هي مصفوفات يمكن تخزين داخلها أي نوع من البيانات سواء كان رقمي أو نصي أو كائن ولكن فهرس المصفوفة لهذا النوع من المصفوفات هو رقمي.
ولانشاء المصفوفة نستخدم الدالة ()array.
مثال كود على المصفوفات الرقمية.
<html> <body> <?php /* الطريقةالاولى لانشاء المصفوفة*/ $numbers = array( 1, 2, 3, 4, 5); foreach( $numbers as $value ) { echo "Value is $value <br />"; } /* الطريقة الثانية. */ $numbers[0] = "one"; $numbers[1] = "two"; $numbers[2] = "three"; $numbers[3] = "four"; $numbers[4] = "five"; foreach( $numbers as $value ) { echo "Value is $value <br />"; } ?> </body> </html> This will produce |
ناتج المصفوفة الرقمية
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5 Value is one Value is two Value is three Value is four Value is five |
ثانيا المصفوفات المترابطة Associative Arrays
كما ذكرنا سابقا بان البي اتش بي تتميز في تعريف المصفوفات بانها يمكن تعريف فهرس المصفوفات ليكون نصي بعكس اللغات الاخرى مما يمنحها مرونة.فالمصفوفة المترابطة هي مصفوفة عادية ولكن يمكن تعريف فهرس المصفوفة ليكون نصي وعندها تصبح مصفوفة مترابطة.
مثال كود على المصفوفة المترابطة
<html> <body> <?php /* الطريقة الاولى لتعريف مصفوفة مترابطة. */ $salaries = array( "mohammad" => 2000, "qadir" => 1000, "zara" => 500 ); echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />"; echo "Salary of qadir is ". $salaries['qadir']. "<br />"; echo "Salary of zara is ". $salaries['zara']. "<br />"; /* الطريقة الثانية لتعريف مصفوفة مترابطة */ $salaries['mohammad'] = "high"; $salaries['qadir'] = "medium"; $salaries['zara'] = "low"; echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />"; echo "Salary of qadir is ". $salaries['qadir']. "<br />"; echo "Salary of zara is ". $salaries['zara']. "<br />"; ?> </body> </html> |
ناتج مثال المصفوفة المترابطة
Salary of mohammad is 2000 Salary of qadir is 1000 Salary of zara is 500 Salary of mohammad is high Salary of qadir is medium Salary of zara is low |
ثالثا المصفوفات متعددة الابعاد
هي مصفوفة بحيث ان كل عنصر من عناصر المصفوفة يكون مصفوفة أخرى.
مثال كود على المصفوفات متعددة الابعاد
<html> <body> <?php $marks = array( "mohammad" => array ( "physics" => 35, "maths" => 30, "chemistry" => 39 ), "qadir" => array ( "physics" => 30, "maths" => 32, "chemistry" => 29 ), "zara" => array ( "physics" => 31, "maths" => 22, "chemistry" => 39 ) ); /*الوصول لقيم عناصر المصفوفة متعددة الابعاد */ echo "Marks for mohammad in physics : " ; echo $marks['mohammad']['physics'] . "<br />"; echo "Marks for qadir in maths : "; echo $marks['qadir']['maths'] . "<br />"; echo "Marks for zara in chemistry : " ; echo $marks['zara']['chemistry'] . "<br />"; ?> </body> </html> |
ناتج المصفوفة متعددة الابعاد
Marks for mohammad in physics : 35 Marks for qadir in maths : 32 Marks for zara in chemistry : 39 |
Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
SEO experience,PHP,C#,ASPX,SQL
Al alami st
gaza -jabalia, Gaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi
by +Ahmed Almahallawi
5/1/2014
التسميات: PHP بي اتش بي تعلم دروس حتى الاحتراف
<< الصفحة الرئيسية