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


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

  عدد البرامج : 3025
  عدد التصنيفات : 66
  مرات التحميل : 9271697

جديد البرامج

SpeedUpMyPC 3.5.2356

Online TV Player 3.0.951

AVG Anti-Virus Pro Edition 7.5.483 Build 1094

Vista Manager 1.2.1

LimeWire Pro 4.14.7

TaskInfo 7.1.0.232


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

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

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

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

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

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

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

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


البرنامج العملاق والأسطوري لتحويل جميع انساق الفيديو وسعره.
صفحة للطباعة
اصنع شكل مميز
صفحة للطباعة
شرح إضافة لغات متعددة إلى المنتديات
صفحة للطباعة
تحويل النطاقات
صفحة للطباعة
تغير مسميات الأعضاء إلى صور
صفحة للطباعة
من اروع برامج تحويل وأفضلها من ram الى Mp3 والى جميع الصيغ
صفحة للطباعة
الموضوع الشامل لصناعة ويندوز شخصي مدموج معه كل التحديثات والبرامج
صفحة للطباعة
[ الأقسام الخاصة ]
مواقع صديقة

المواقع : 603    التصنيفات : 90
1 - شباب الكويت
2 - دردشه طعون الصوتيه
3 - الاتحاد الاسلامي لطلبة سورية
4 - الملتقى الطبي السوري
5 - وحدة العمل الوطني لكرد سورية

دليل المواقع  ::  أضف موقعك

برامج / اغاني / منتديات على كيفك / جديد البرامج
إعلانات
   

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

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

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

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

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

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

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

اهداف الدرس:

  • ترتيب المصفوفات ( 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 | قائمة الأقسام الخاصة ]
مقالات قديمة

2008/06/07
Ashampoo UnInstaller 3.0.5.0 حذف برامج من جذورها
صفحة للطباعة / أرسل هذا المقال لصديق
2004/09/17
Perfect Keylogger 1.6.0.1
صفحة للطباعة / أرسل هذا المقال لصديق
2004/09/14
edBlock Detector 2.0
صفحة للطباعة / أرسل هذا المقال لصديق
2005/02/20
Cellular
صفحة للطباعة / أرسل هذا المقال لصديق
2006/12/13
GetSmile v1.93 Update اضع بين ايديكم البرنامج الشهير جيت سمايلز
صفحة للطباعة / أرسل هذا المقال لصديق
2006/05/16
جني الأزرق لايستطيع ان يصل ألى ملفاتك مع العملاق Folder Lock 5.5.7
صفحة للطباعة / أرسل هذا المقال لصديق
2009/04/15
برنامج Photodex ProShow Gold 4.0.2477 أصنع من صورك اجمل الأفلام
صفحة للطباعة / أرسل هذا المقال لصديق
2005/05/14
Audio Editor Gold 7.4.7
صفحة للطباعة / أرسل هذا المقال لصديق
2004/09/19
ArcSoft Funhouse
صفحة للطباعة / أرسل هذا المقال لصديق
2005/06/08
Kazaa v3.0 Full
صفحة للطباعة / أرسل هذا المقال لصديق
اخر البرامج المشروحة


الألوان في HTML
صفحة للطباعة
المساحة المستخدمة Disk Usage
صفحة للطباعة
دمج الصور عن طريق التدرج
صفحة للطباعة
شرح بالصور طريقة تثبيت WINDOWS XP بالتفصيل
صفحة للطباعة
لقد كانت صفحات الويب الخاصة بي مدونة؛ والآن هي غير مدونة.
صفحة للطباعة
كيف يمكنني تغيير عنوان IP لموقعي بآخر جديد
صفحة للطباعة
تحديد الجنس النسخه الثالثه بشكل عام
صفحة للطباعة
ثورة الـ (Search Engine Optimization) حديث مطول وحقائق يجهلها الكثير
صفحة للطباعة
شرح لوحة تحكم المراقبين
صفحة للطباعة
معرفة من قام بتقيم العضو +(التعديل والحذف)
صفحة للطباعة
شرح إضافة لغات متعددة إلى المنتديات
صفحة للطباعة
برنامج FlashGet V1.65.1 Final+الشرح+ لتعريب+السيريل نمبر
صفحة للطباعة
إرشادات لمشرف الموقع
صفحة للطباعة
هل تعاني من كثرة انهيارات الويندوز ومشاكله أليكم الحل مع شرح
صفحة للطباعة
ثقة محرك البحث Google لموقعك كيف
صفحة للطباعة
شرح طريقة حذف تمبلت تم إضافته من قبل المدير
صفحة للطباعة
الجلسات في PHP
صفحة للطباعة
تعلم ماهو ip وكيف تحصل عليه؟ وكيف تستغله بعد ماتحصل عليه ؟!
صفحة للطباعة
شرح تثبيت برامج غير متوافقة على وندوز XP
صفحة للطباعة
برنامج يحفظ كل التفاصيل عن اصدقاءك
صفحة للطباعة
إزالة الصفحات المخبأة
صفحة للطباعة
برنامج LogoManager 1.2.9 مع التعريب والكراك
صفحة للطباعة
مدير FTP
صفحة للطباعة
شرح تلوين رتب المتواجدين بالالوان
صفحة للطباعة
اصنع شكل مميز
صفحة للطباعة
شرح مفصل بالصور لبرنامج Flax لصنع التواقيع الفلاشية+ SN
صفحة للطباعة
إزالة وصلة غير محدثة ("قديمة")
صفحة للطباعة
إضافة إبتسامات من لوحة التحكم
صفحة للطباعة
أنشئ تحديد عن طريق أداة الريشة
صفحة للطباعة
احدى استخدامات القنوات
صفحة للطباعة
تغير إتجاه الإستايل من اليسار لليمين
صفحة للطباعة
درس الخلفية المربعة المنقوشة
صفحة للطباعة
الأساسيات HTML
صفحة للطباعة
تفعيل مجموعة أعضاء من لوحة التحكم (2)
صفحة للطباعة
إضافة صفحة للمنتدى
صفحة للطباعة
شرح هاك تحديد عدد المشاركات لكل مجلس
صفحة للطباعة
المصفوفات الحرفيه
صفحة للطباعة
الآن الأدوات التي تساعدك في الويب 2.0
صفحة للطباعة
شرح البرنامج الخرافي Steganos Internet v7.0لتنظيف المخلفات
صفحة للطباعة
إضافة أوسمه للمجموعات
صفحة للطباعة
العبارات الشرطيه
صفحة للطباعة
أخذ نسخة إحتياطية لقاعدة من لوحة التحكم
صفحة للطباعة
[شرح] التحكم بطريقة عرض المجالس في لوحة تحكم المدير
صفحة للطباعة
ادراج الملفات والدوال بأنواعها
صفحة للطباعة
[شرح] عرض الأقسام الفرعيه في الصفحة الرئيسية
صفحة للطباعة
إرسال رسالة خاصة للأعضاء من قبل طاقم الإدارة
صفحة للطباعة
[شرح] عرض إحصائيات لوحة التحكم للمدير
صفحة للطباعة
شرح لافضل منظف صاروخ SuperCleaner
صفحة للطباعة
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

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

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