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


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

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

جديد البرامج

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
[مرات التحميل : 352475]

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

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

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

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

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

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


دليل المواقع اشهار المواقع بيج رانك رفع تقيم الصفحة
صفحة للطباعة
File Manager مدير الملفات
صفحة للطباعة
إنشاء المرايا والأسطح العاكسة
صفحة للطباعة
[ شرح ] إضافة خيارات جديدة إلى خيارات المنتدى + تنزيل الإعدادات +رفع ملف الإعدادات
صفحة للطباعة
كيف تصنع رسالة او ظرف
صفحة للطباعة
[هاك] تحديد عدد المشاركات + عدد المواضيع حسب المجموعات
صفحة للطباعة
هل تعرف اسرارwindows xpادخل فوراً
صفحة للطباعة
[ الأقسام الخاصة ]
مواقع صديقة

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

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

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

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

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

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

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

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

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

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

اهداف الدرس:

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

2005/04/21
Webroot Spy Sweeper 4.0 أًصدار جديد
صفحة للطباعة / أرسل هذا المقال لصديق
2006/11/28
أعادة نظامك بسرعة صاروخ ومن غير مشاكل AMUST Registry Cleaner 3.5
صفحة للطباعة / أرسل هذا المقال لصديق
2005/01/27
CyberMotion 3D-Designer 10
صفحة للطباعة / أرسل هذا المقال لصديق
2007/01/31
أنفراد جديد Kaspersky Anti-Virus Build 6.0.2.614 النسخة الاخيرة
صفحة للطباعة / أرسل هذا المقال لصديق
2006/03/14
العملاق الروسى للتحميل من مواقع بسرعة منها الرابيد شير
صفحة للطباعة / أرسل هذا المقال لصديق
2008/03/24
Cyberlink PowerProducer Ultra 5.0.0314 Multilingual + سيريال حصري!
صفحة للطباعة / أرسل هذا المقال لصديق
2005/04/14
Recover My Files 3.30
صفحة للطباعة / أرسل هذا المقال لصديق
2004/08/20
GetRight 5.2
صفحة للطباعة / أرسل هذا المقال لصديق
2006/05/13
حصري Microsoft Windows Media Player 11.0.5358.4826
صفحة للطباعة / أرسل هذا المقال لصديق
2006/11/28
أسرع متصفح بمميزات جديدة Maxthon 1.5.9 Build 30 Combo في آخر إصداراته
صفحة للطباعة / أرسل هذا المقال لصديق
اخر البرامج المشروحة


إزالة جزء من موقعك
صفحة للطباعة
مقدمه ومفاهيم عن لغة PHP
صفحة للطباعة
[شرح] عرض إحصائيات لوحة التحكم للمدير
صفحة للطباعة
دوال المصفوفات
صفحة للطباعة
التاريخ والوقت في PHP
صفحة للطباعة
[شرح] طريقة إضافة عبارات اللغة
صفحة للطباعة
شرح تعدد المرفقات في الموضوع
صفحة للطباعة
شرح إضافة لغات متعددة إلى المنتديات
صفحة للطباعة
منع الرسائل الخاصة قبل عدد معين من المشاركات
صفحة للطباعة
فرد وطوي سجادة
صفحة للطباعة
لتحقيق الأمثلية لجهازك تسريع أدائه وتحسين سرعة الأنترنت ادخل هنا لنتعرف على سر برنامج
صفحة للطباعة
شرح تثبيت برامج غير متوافقة على وندوز XP
صفحة للطباعة
برمجة الكائنات
صفحة للطباعة
عمليات الإكساء
صفحة للطباعة
إظهار مواضيع المجلس منذ البداية
صفحة للطباعة
إحصائية شاملة ودقيقةعن محركات الأقراص
صفحة للطباعة
لماذا تم تصنيف موقعي كـ "تكميلي
صفحة للطباعة
[ شرح ] إضافة خيارات جديدة إلى خيارات المنتدى + تنزيل الإعدادات +رفع ملف الإعدادات
صفحة للطباعة
كيف تعمل مربعات (Grid)
صفحة للطباعة
إزالة موقعك بالكامل
صفحة للطباعة
الإكساء المتعدد
صفحة للطباعة
عبارات التكرار
صفحة للطباعة
طريقة عمل مذنب ناري
صفحة للطباعة
شرح طريقة منع الزوار من مشاهدة المنتدى
صفحة للطباعة
شرح برنامجDriver Genius v2.1 الإحترافي في البحث عن تعاريف
صفحة للطباعة
العبارات الشرطيه
صفحة للطباعة
كم عدد المرات التي سيقوم فيها Google بالزحف إلى موقعي؟
صفحة للطباعة
طريقة تفعيل صفحة صلاحيات المدير
صفحة للطباعة
كيف أجعل موقعي مدونًا على Google
صفحة للطباعة
طريقة عمل شريط سينمائي
صفحة للطباعة
[هاك] شريط العشر مواضيع مع الشرح: illogicalx
صفحة للطباعة
برنامج الرائع في مسح التراكات التي تتركها البرامج والمتصفح
صفحة للطباعة
برنامج الدروس الجزء الاول
صفحة للطباعة
عبارات شرطيه وتكرار اخرى
صفحة للطباعة
ثقة محرك البحث Google لموقعك كيف
صفحة للطباعة
حول صورك الحديثة إلى قديمة
صفحة للطباعة
[هاك] منع إقتباس الموضوع
صفحة للطباعة
التعامل مع جوجل وكل ما تود معرفته عن جوجل
صفحة للطباعة
المتغيرات , الثوابت و المعاملات
صفحة للطباعة
طريقة زيادة وضوح الصور
صفحة للطباعة
شرح لعملاق برامج التحرير Ulead VideoStudio 9
صفحة للطباعة
المساحة المستخدمة Disk Usage
صفحة للطباعة
وضع رقم سري لأحد المجالس
صفحة للطباعة
احدى استخدامات القنوات
صفحة للطباعة
السيرفر الشخصي لتشغيل جميع برامج المنتديات
صفحة للطباعة
إرشادات لمشرف الموقع
صفحة للطباعة
انواع النماذج وطريقة كتابتها
صفحة للطباعة
شرح إضافة لغة جديدة للمنتدى
صفحة للطباعة
[ الأقسام الخاصة ]
  تصميم وتطوير برامج نت Bramjnet.Com

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

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