Open top menu
الاثنين، 4 مارس 2013


اليوم ان شاء الله سوف نتتطرق الى المصفوفات المصفوفة في PHP تعني جدول أي ان الهدف اﻻساسي منها هو  تنطيم المعلومات و اعطائها موقع قابل للتحديد يعني اعطائها احداثيات يمكن من خلالها الوصول الى المعلومات بكل سلاسة  نستطيع تكوين مصفوفة باستعمال دالتين      ()array و ()list لتضح الرؤية كالعادة نبدأ بمثال تطبيقي :













<?php
$data = array('E machine','HP','Dell','IBM','Acer') ; 
print_r($data) ;
?>

النتيجة :


Array ( [0] => E machine [1] => HP [2] => Dell [3] => IBM [4] => Acer ) 

الدالة print_r تقوم بطباعة المصفوفة كاملة أي المعامل و نتيجته : المعامل هو  الرقم الموجود بين المعقوفتين [] و النتجة التي يشر اليها بالسهم <= مثلا ادا اردت طباعة القيمة IBM فيكفي تحديد معاملها في المصفوفة data ليتم طباعته مثال على دالك :

<?php
$data = array('E machine','HP','Dell','IBM','Acer') ; 
print $data['3'] ;
?>

النتيجة كما سبق الدكر هي IBM .
ملاحظة مهمة : العد بالنسبة للمصفوفات يبداء من القيمة 0  .
ننتقل الى دالة list  تقوم بتكوين مصفوفات كدالك وتستعملا غالبا في البر مجة المتقدمة اما مع دوال قواعد البيانات او دوال التحكم بالملفات او مع مكتبة غرافيك الخاصة ب php …
سأتعمق أكثر في هده  الدالة حين نصل الى البرمجة المتقدمة  .
الطريقة اﻻكثر انتشارا بين المبرنجين بعد Array وهي تكوين مصفوفة يدويا مثال سريع :

<?php
$a[0] = "abc"; 
$a[1] = "def"; 
$a[2] = "ghi"; 
print $a[2] ; 
?>

النتيجة ghi

تجدر اﻻشارة الى ان هناك عدة دوال مرتبطة مباشرة بالمصفوفات هده الدوال تقوم بتعامل مع المعلومات التي تحملها المصفوفة مثلا لتنظيم المعلومات او المقارنة بينها او بالبحث عنها …
سندكر أمثلة سريع لهده الدوال :

1- array_count_values : تقوم بعدعدد المرات التي تكررت في المصفوفة .

<?php
$array = array (1, "hello", 1, "world", "hello"); 
array_count_values ($array); 
?>

النتيجة 

array (1=>2, "hello"=>2, "world"=>1)  

2- array_diff :تقوم بتحديد اﻻختلاف بين مصفوفتين . 

<?php
$array1 = array ("a" => "green", "red", "blue"); 
$array2 = array ("b" => "green", "yellow", "red"); 
$result = array_diff ($array1, $array2); 
   
?>

النتيجة  result

array ("blue"); 

3-array_intersect : تقوم بتحديد النقط المشتركة بين مصفوفتين عكس array_diff . 

<?php
$array1 = array ("a" => "green", "red", "blue"); 
$array2 = array ("b" => "green", "yellow", "red"); 
$result = array_intersect ($array1, $array2); 
?>

النتيجة  result

array ("a" => "green", "red"); 

  وأيضا Array_walk() , array_values , array_unshift ,array_unique , array_sum , array_splice ,array_shift , array_reverse ,array_rand …

في اﻻخير اود ان اشير اﻻ اني في اﻻمثلة السالفة الدكر قمت بوضع مصفوفات بسيطة او مصفوفة دات بعد واحد تجدر اﻻشارة الى اننا نستطيع وضع  مصفوفة مركبة او دات عدت ابعاد ادا اقتضى اﻻمر داك وهدا مثال توضيحي :

<?php 
$a = array( 
"apple" => array( 
"color" => "red", 
"taste" => "sweet", 
"shape" => "round" 
), 
"orange" => array( 
"color" => "orange", 
"taste" => "tart", 
"shape" => "round" 
), 
"banana" => array( 
"color" => "yellow", 
"taste" => "paste-y", 
"shape" => "banana-shaped" 
); 
echo $a["orange"]["taste"]; 
?> 

النتيجة  : tart


في رعاية الله

التصنيف :
Amine Blog
Abderrahim S.E

مبرمج و مدون مغربي في مجال التقنيات الحديثة وكل ما يخص الحماية و الهكر الأخلاقي

0 تعليقات

للتواصـــــــل