برامج نت - أكبر موقع عربي للبرامج

منتدى برامج نت|منتدى البرامج الكاملة والنادرة|العاب بنات|برامج ايفون | برامج
 
 [ مكتبة البرامج ] [ العاب فلاش  ] [ الوصول السريع ] [ مكتبة الخطوط ] سرعة أتصالك ] تسجيل في موقع | تسجيل في منتدى ] [ اضفنا للمفضلة! ] [ خريطة الموقع ]
القائمة الرئيسية
  الرئيسية
  اضافة مقال
  الارشيف
  اخبر صديقك
  صفحة البحث
  اعلن لدينا
  حسابك
  راسلنا
  احصائية
  افضل 10
  استفتاء
منوعات نت
  مكتبة البرامج
  قلعة برامج نت للشروحات
  مكتبة خطوط
  أفحص جهازك
  إضافة لمحركات البحث
  محرر صفحات
  برامج مسنجر  محدّث
  برامج نوكيا 6600
  القاموس
منتدى برامج نت
  منتديات الكمبيوتر والأنترنت
  منتديات التصاميم والجرافيكس
  منتديات العامة
  منتدى برامج نت الطبي
  منتديات الرياضة
  منتديات المصارعة الحرة
  منتديات هواتف الجوال
  منتديات الأفلام والسينما
  منتدى الفضائيات
  منتديات المال والاعمال
جديد البرامج ولاكثر تحميلا

  عدد البرامج : 3307
  عدد التصنيفات : 67
  مرات التحميل : 13753472

جديد البرامج

JFRenamer 1.0.14

MyKeywords 0.0.1

Raster to Vector 9.2

JPG to PDF Converter 1.02

Avira Free Antivirus 13.0.0.3499

NANO AntiVirus 0.24.0.52049


الاكثر تحميلا

Adobe Photoshop 8.1 CS
[مرات التحميل : 609832]

Kaspersky Anti-Virus 6.0.2.621
[مرات التحميل : 494798]

java xp
[مرات التحميل : 238679]

50 ثيم لجوال نوكيا 6600-الجزء الثاني
[مرات التحميل : 175488]

القائمة البريدية

اشترك في القائمة البريدية
تصفح الأرشيف
أخر البرامج المشروحة

[شرح] تفريغ البحث + إعادة بناء البحث
صفحة للطباعة


إرشادات لمشرف الموقع
صفحة للطباعة
[ شرح ] إضافة خيارات جديدة إلى خيارات المنتدى + تنزيل الإعدادات +رفع ملف الإعدادات
صفحة للطباعة
شرح Norman Virus Control 5.80للحماية من الفيروسات !
صفحة للطباعة
الموضوع الشامل لصناعة ويندوز شخصي مدموج معه كل التحديثات والبرامج
صفحة للطباعة
أهمية الكلمات المفتاحية KeyWords
صفحة للطباعة
اصنع خلفية مميزة
صفحة للطباعة
[هاك] شريط العشر مواضيع مع الشرح: illogicalx
صفحة للطباعة
[ الأقسام الخاصة ]

إعلانات
 

softxgame
منتدى الفيديو والصوتيات
مشاهدة القنوات الفضائية

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

 


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

(1362 مجموع الكلمات في هذا النص)(18899 قراءة)صفحة للطباعة
الدرس الخامس عشر: دوال المصفوفات

الدرس الخامس عشر: دوال المصفوفات

نحتاج كثيرا الى ان نقوم بترتيب المصفوفات حسب الاسم , العمر , الميلاد وغيرها , مثل ما ترى في بعض محركات البحوث او مكتبات البرامج , حيث ان لديك خيار يسمح لك بالترتيب كيفما تريد, ولكن نريد ان نعرف كم يتم ذلك , وماهي الدوال المستخدمه في ذلك, يوجد نوعان من الترتيب, اما ترتيب مصفوفه احادية الابعاد, او مصفوفه متعددة الابعاد, بالنسبه للاولى فهي تعتبر سهله, ولكن الاخرى تعتبر اصعب وتحتاج الى تركيز, لكن لا تخف سوف نحاول ان نبسطها قدر الامكان.....
 

متطلبات قبل البدأ :

  • مراجعة الدرس الثالث عشر: المصفوفات الرقميه

  • مراجعة الدرس الرابع عشر: المصفوفات الحرفيه

اهداف الدرس:

  • ترتيب المصفوفات ( Sorting )
  • اعادة ترتيب المصفوفات ( Reordering )
  • استكشاف المصفوفات ( Navigation )
  • تعداد المصفوفات ( Counting )
  • الداله array_walk

ترتيب المصفوفات ( Sorting ) :

نحتاج كثيرا الى ان نقوم بترتيب المصفوفات حسب الاسم , العمر , الميلاد وغيرها , مثل ما ترى في بعض محركات البحوث او مكتبات البرامج , حيث ان لديك خيار يسمح لك بالترتيب كيفما تريد, ولكن نريد ان نعرف كم يتم ذلك , وماهي الدوال المستخدمه في ذلك, يوجد نوعان من الترتيب, اما ترتيب مصفوفه احادية الابعاد, او مصفوفه متعددة الابعاد, بالنسبه للاولى فهي تعتبر سهله, ولكن الاخرى تعتبر اصعب وتحتاج الى تركيز, لكن لا تخف سوف نحاول ان نبسطها قدر الامكان, لنبدأ بالمصفوفات الاحادية الابعاد:

الترتيب طبيعيا

الداله sort() :

تستخدم هذه الداله لترتيب الكود حسب الاسبقيه ( للمصفوفات الرقميه ) , ونعني بذلك من الاصغر الى الاكبر, في حالة الاحرف ( ا , ب , ت ..... ي ) وفي حالة الارقام ( 0 , 1 , 2 ) وتعتبر هذه الداله حساسه لحالة الاحرف, اي الحرف ( A ) اصغر من الحرف ( Z ) ولكن الحرف ( Z ) اصغر من الحرف ( a ), افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتجنا هو التالي:

الداله asort() والداله ksort() :

اذا كنت تستخدم المصفوفات الحرفيه, فهنا تجد مبتغاك, ونستخدم دوال مختلفه عن الرقميه , لاننا في المصفوفات الحرفيه نحتاج الى العنصر والفهرس ليتم ترتيبهما مع بعضهما البعض , ولكن في الرقميه نحتاج الى العنصر فقط. نستخدم الداله asort ونقوم بترتيبها حسب العنصر, ولكن في الداله ksort فسوف نقوم بالترتيب حسب الفهرس او المفتاح, افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتجنا هو التالي:

الترتيب العكسي

رأيت ان الداله sort و ksort و asort تقوم بترتيب العناصر من الاصغر الى الاكبر, ماذا لو اردنا ان نقوم بالترتيب من الاكبر الى الاصغر, كيف سنقوم بفعل ذلك ؟ نستخدم نظائر الدوال التي قمنا بمعرفتها قبل قليل وهي rsort و krsort و arsort وسوف تقوم بالتريب بشكل عكسي, لا تحتاك ان ادعم لك الدوال بالامثله , فقط قم باستبدال دالة الترتيب في الامثله بالاولى بالداله ( rsort ) في حالة المصفوفه الرقميه, او استبدل دالة الترتيب في مثال المصفوفات الحرفيه بأحدى الدالتين ( arsort ) او ( krsort )

 

اعادة ترتيب المصفوفات ( Reordering ) :

في بعض الحالات تريد ان تقوم بترتيب المصفوفات بطريقه معينه, مثل لو لديك مصفوفه بها الاعداد ( 1 , 2 , 3 ) وتريد ان تقوم بترتيبها بالطريقه ( 3 , 1 , 2 ) , فيمكن فعل ذلك بلغة PHP وفي هذا القسم سوف نتعلم كيفية القيام بهذه الخصائص.

الداله shuffle() :

تقوم هذه الداله بترتيب عناصر المصفوفه عشوائيا , والطريقه لقيام بالترتيب عشوائيا هي كالتالي, افتح محرر الاكواد وقم بكتابة التالي:

لو قمت بتشغيل هذا البرنامج, سوف تلاحظ ان في كل مره تقوم بها بتحديث الصفحه او اعادة التشغيل , سترى الترتيب يختلف, قم بتجربة البرنامج وستعرف ما اعنيه

الداله array_reverse() :

تقوم هذه الداله بإنشاء مصفوفه جديده ولكن العناصر تكون بترتيب عكسي , لاحظ المثال التالي:

والناتج من هذه الداله هو التالي:

لداله array_push() :

تقوم هذه الداله بإضافة عنصر جديد في اخر المصفوفه, لاحظ المثال التالي:

الداله array_pop() :

هذه الداله عكس الداله array_push وهي تقوم بحذف اخر عنصر في المصفوفه مع ارجاعه, واعني بإرجاعه ان عند استخدام هذه الداله سوف تقوم بأعطائك اي متغير تم حذفه, وهذا هو الفرق بينها, لاحظ المثال التالي:

استكشاف المصفوفات ( Navigation ) :

في اي مصفوفه تقوم بإنشائها , يوجد لدينا مؤشر يقوم بالاشاره على العنصر الموجود لديه الان, فتارة يكون المؤشر في العنصر الاول وتارة في العنصر الثاني,, ولكن لا يمكننا التحكم في هذا المؤشر اساسا, بل يمكننا استخدام بعض الدوال تساعدنا في التحكم به, فلو قمت بإنشاء داله الان ووضعت بها بعض العناصر فسوف يكون المؤشر في اول عنصر في المصفوفه, لنرى الان بعض دوال مؤشر المصفوفه لنقوم بإستخدامها في برامجنا لاحقا.

الداله current() :

تستخدم هذه الداله لاعطائنا مكان المؤشر الحالي, وطريقة الاستخدام كالتالي, افتح محرر الاكواد وقم بكتابة الكود:

الداله each() :

تقوم هذه الداله بإرجاع العنصر الحالي ثم التقدم خطوه واحده الى الامام. each( $array )

الداله next() :

تقوم هذه الداله بنفس عمل الداله each ولكن الفرق بينهما ان هذه الداله تقوم بالتقدم خطوه واحده الى الامام ثم ارجاع المتغير الذي وصلت الي. next( $array )

الداله reset() :

عمل هذه الداله بسيط, وهي تقوم بإرجاع المتغير الى بداية المصفوفه, اي كأنك قمت بعمل المصفوفه من جديد. reset( $array )

الداله end() :

هذه الداله عكس سابقتها reset حيث تقوم من اسمها بوضع المؤشر في اخر المصفوفه. end( $array )

الداله prev() :

واخيرتنا في هذا القسم هي هذه الداله وهي عكس الداله next وتقوم بالرجوع للخلف خطوه واحده فقط ثم ارجاع المتغير الذي وصلت اليه

 

تعداد المصفوفات ( Counting ) :

الداله count() :

تستخدم هذه الداله لعد عناصر المصفوفه الموجوده لدينا, وتستخدم بالطريقه التاليه:

الداله sizeof() :

تقوم هذه الداله بنفس عمل الداله count تمام , ولا يوجد بينهما اي اختلاف. sizeof( $array )

الداله array_count_values() :

هذه الداله جميله, ورهيبه , وعملها ان تقوم بعدد كم العناصر المتكرره في المصفوفه, فلو لديك مصفوفه يوجد بها ( 1 , 5 , 1 , 6 , 2 ) فسوف تخبرك الداله ان العدد 5 و 6 و 2 تكررو مره واحده ولكن العدد 1 تكرر مرتان, طريقة عمل هذه الداله ان تقوم بإدخال مصفوفه اليها وتقوم بإرجاع مصفوفه حرفيه عناصرها هي عدد مرات التكرار والفهرس او المفاتيح هو عناصر المصفوفه الاولى, لنقم بأخذ مثال بسيط عليها, افتح محرر الاكواد وقم بعمل التالي:

والناتج هو :

الداله array_walk :

في بعض الاحيان نريد ان نقوم بتعديل جميع عناصر المصفوفه الموجوده لدينا , من غير استخدام دالة تكرار وغير ذلك , ويمكننا تحقيق مبتغانا عن طريق الداله array_walk ووضع اليها بعض من نكهات الدوال, لنقل ان لدينا مصفوفه بها ارقام, ونريد ان نقوم بزيادة كل عنصر في المصفوفه بالعدد 1, كيف يمكننا فعل ذلك , افتح محرر الاكواد وقم بكتابة التالي:

وسوف يكون ناتج هذه الطريقه هو التالي:


سؤال على الدرس :

1 - لا يوجد

الـــدرس الــقادم :

سوف نتعرف في الدرس القادم على متفرقات في لغة PHP مع بعض الامثله التطبيقية لتساعدنا على جمع كل ما تعلمناه الى الان

  

[ العودة الى دروس php | قائمة الأقسام الخاصة ]
مقالات قديمة

2004/10/23
templateMonster 3

2004/10/05
Xara3D 5 Full

2006/03/20
من أروع البرامج الحصرية للصيانة و تصحيح أخطاء نظام التشغيل

2012/01/26
تحميل اسطوانة كاملة سلسلة قصص الانبياء بالرسوم المتحركة

2007/07/18
ياشباب عندي جهاز داخل جهاز عندي نظام فيستا داخل نظام اكس بي حصري

2005/01/10
Systran Pro Premium v5.0 Final

2009/05/09
تحميل برنامج CCleaner 2.19.901 افضل برنامج تنظيف كمبيوتر

2006/01/30
Serious Magic Ultra v2 يستعمل في العربية والجزيرة

2009/06/20
البرنامج الذي تحدى النيرو Ashampoo Burning Studio 9.04

2004/12/30
MacroSphere Designer v4.1

اخر البرامج المشروحة


[شرح] طريقة إخفاء مجلس عن عدد من المجموعات
فرد وطوي سجادة
برنامج دليل هاتف العرب
إرسال رسالة خاصة للأعضاء من قبل طاقم الإدارة
أروع برنامج دمج صور + أصنع لك تواقيعك بنفسك + شــــــــرح
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

PHP-Nuke Copyright © 2005 by Francisco Burzi
جميع المشاركات والمواضيع في موقع برامج نت لا تعبر بالضرورة عن رأي إدارته بل تمثل وجهة نظر كاتبها

منتدى برامج نت إبداع و تميز  أكبر منتدى عربي أكبر موقع عربي للبرامج   جديد الخطوط  جديد المقالات  جديد البرامج