عنوان درسنا لهذا اليوم:

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


اولا لنقم بتعلم طريقة طباعة المصفوفة

لنقم ببناء مصفوفة بسيطة مثلا هذه


كود PHP:
                       <?php  
$table1
=array("husband"=>array("firstname"=>"opaida","lastname"=>"younis","age"=>"22"),  
"wife"=>array("firstname"=>"mai","lastname"=>"hakem","age"=>"20"));  
   
?>
لنقل بأننا نريد طباعتها فما هي الطريقة

الطريقة بسيطة جدا وهي طريقة طباعة المصفوفات


كود PHP:
                       print_r (array); 
سنقوم بوضع المتغير الذي انشأنا به المصفوفة وهو

$table1

بدلا من كلمة array

ليصبح الكود بهذا الشكل


كود PHP:
                       <?php  
$table1
=array("husband"=>array("firstname"=>"opaida","lastname"=>"younis","age"=>"22"),  
"wife"=>array("firstname"=>"mai","lastname"=>"hakem","age"=>"20"));  
  
print_r ($table1); 
?>
ستلاحظ عند تشغيل الكود في المتصفح بأن هذا الذي سيظهر لك


كود PHP:
                       Array ( [husband] => Array ( [firstname] => opaida [lastname] => younis [age] => 22 ) [wife] => Array ( [firstname] => mai [lastname] => hakem [age] => 20 ) ) 


هل تريد ان يظهر الكود بصورة ارتب حسنا

سنستخدم هنا الكود <pre> وهو احد اكواد الhtml لننظر الى كيفية عملة

قم بكتابة الكود التالي في محرر الاكواد

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


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

انتهينا من طريقة الطباعة والان لننتقل الى الدوال وسأقوم بوضع بعض الدوال وليست كاملة

لأنها كثيرة جدا ويمكنكم ان تبحثوا بصفحات الانترنت فهناك الكثير منها هنا www.php.net

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


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

واول دالة هي :
1-sort :
*استخدامها : تستخدم لترتيب المصفوفة.

*طريقة كتابتها :

كود PHP:
                       sort(array); 
*مثال عليها :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

قم بكتابة الكود بالصورة السابقة وانظر الى الية عمل هذه الدالة

*دوال اخرى مثلها:
1-

كود PHP:
                       arsort(array); 
2-

كود PHP:
                       rsort(array); 
3-

كود PHP:
                       asort(array); 
جرب هذه الدوال واقم بالتعرف على الية عملها بنفسك ^^

وهذه مصفوفة لتقم بالتجربه عليها ..


كود PHP:
                       $table1=array("husband" => array("firstname"=>"Albert",  
                 
"lastname"=>"Einstein",  
                 
"age"=>"35"),  
         
"wife" => array ("firstname"=>"Mileva",  
                 
"lastname"=>"Einstein",  
                 
"age"=>"30")); 
ثاني الدوال هي:

2-دالة shuffle


نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

*استخدامها : تستخدم في ترتيب العناصر بالمصفوفة عشوائيا

*طريقة كتابتها

كود PHP:
                        shuffle(array) 
*مثال عليها :


كود PHP:
                       <?php 

$arr2 
= array(12,5,30,14,100); 

shuffle($arr2); 
foreach (
$arr2 as $x){ 
echo 
$x
echo 
"<br>"


?>
لوقمت بطلب هذا الكود في المتصفح وقمت بتحديث الصفحة ففي كل مره تحدث الصفحة سيتغير مكان الارقام..

3- دالة array_push

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

*طريقة كتابتها :

كود PHP:
                       array_push (array,العنصر); 
*مثال :

كود PHP:
                       array_push ($arr2,10); 
sort($arr2); 
for (
$i=$i<6$i++ ){ 
    echo 
$arr2[$i]; 
    echo 
"<br>"

4- الدالة array_count_values() :

*تستخدم اذا كان لديك عناصر مكرره في المصفوفة واردت ان تقوم بحساب عدد العناصر المكرره .
فهي تقوم بإدخال مصفوفه اليها وتقوم بإرجاع مصفوفه حرفيه عناصرها هي عدد مرات التكرار والفهرس او المفاتيح هو عناصر المصفوفه الاولى.

*طريقة كتابتها ومثال عليها :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


5- الدالة array_walk :

* استخدامها : تستخدم اذا كان لديك مصفوفة رقمية وتريد زيادة مثلا العدد 1 الى الارقام الموجوده بالمصفوفة
فيتم ذلك عن طريق هذه الدالة لنى الارن طريقة عملها ..

* مثال :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


افتح الملف بالمتصفح وقم بالنظر الى ما قام بفعله ..


6- الدالة array_sum :

استخدامها : تستخدم عند حاجتنا لجمع ما بداخل المصفوفة

وتكتب

كود PHP:
                        array_sum(array); 
مثال بسيط


كود PHP:
                       <?php 

$arr2 
= array(12,5,30,14,100,1,12,30,30); 

echo 
array_sum($arr2); 

?>
6- الدالة array_search

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


كود PHP:
                       <?php 


$array 
= array(=> 'blue'=> 'red'=> 'green'=> 'red'); 

echo 
$key array_search('green'$array); 

echo 
"<br>"

echo 
$key array_search('blue'$array);    


?>
قم بتجربة الكود في المتصفح وانظر لألية عملة..

7- array_flip:

ومن اسمها ستعرف بأنها تقوم بقلب العناصر الى مفاتيح والمفاتيح الى عناصر

انظر لهذا المثال هنا ..


كود PHP:
                       <?php 
$name 
= array('Stu1'=>'hashem','Stu2'=>'mohammed'
              
'Stu3'=>'mohammed'
              
'Stu4'=>'Islam''Stu5'=>'emad'
              
'Stu6'=>'Waled','Stu7'=>'Alaa'); 


print_r(array_flip($name)); 
?>
8- الدالة array_intersect_assoc:
تستخدم هذه الدالة بوضع مصفوفتين داخلها وتقوم بالتأكد من مطابقة المفتاح والعنصر بأنهما متطابقان تماما
وعند طباعتها تقوم بأظهار المفاتيح والعناصر المتطابقة تماما انظر للمثال...


كود PHP:
                       <?php 
$name 
= array('Stu1'=>'hashem'
              
'Stu2'=>'mohammed'
              
'Stu3'=>'mohammed'
              
'Stu4'=>'Islam'
              
'Stu5'=>'emad'
              
'Stu6'=>'Waled'
              
'Stu7'=>'Alaa'); 

$name1 = array('Stu0'=>'hashem'
               
'Stu2'=>'Mohammed'
               
'Stu3'=>'Mohammed'
               
'Stu4'=>'Islam'
               
'Stu5'=>'emad',                 
               
'Stu6'=>'Waled'
               
'Stu7'=>'Alaa'
               
'Stu8'=>'Amjad'); 


print_r(array_intersect_assoc($name,$name1)); 
?>
قمت بعرض بعض الدوال في هذا الدرس وهناك الكثير منها ايضا للنظر اليها ولطريقة عملها يمكنكم

زيارة هذا الموقع فهناك الكثير منها http://www.php.net/manual/en/ref.array.php

انتهينا تقريبا من دوال المصفوفات ومن معرفة طريقة عملها

اتمنى ان اكون قد وفقت في الشرح وان تكونوا قد استوعبتم كيفية عمل الدوال

وفي مشاركتي القادمة سنكمل ما بدأنا به بتطبيق عملي على المصفوفات وللأنتقال الى قواعد البيانات

والسلام مسك الختام ^^