المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [دورة ديزاد باتنة المفتوحة] الدرس مفصل الخامس : المصفوفات



Chakira
11-01-2013, بتوقيت غرينيتش 03:49 PM
http://www.dzbatna.com/images/icons/iconrote.gif [ط¯ظˆط±ط© طھط±ط§ظٹط¯ظ†طھ ط§ظ„ظ…ظپطھظˆط*ط©] ط§ظ„ط¯ط±ط³ ط§ظ„ط®ط§ظ…ط³ : ط§ظ„ظ…طµظپظˆظپط§طھ (http://www.dzbatna.com/t1597460/)



السلام عليكم ورحمة الله وبركاته
السادة أعضاء ديزاد باتنة
تحيه طيبه اليكم


نستكمل سويا دروس دورة ديزاد باتنة المفتوحة بعد توقف شهر سابق التى ابتدأناها سويا فى معهدنا الغالى ديزاد باتنة .

والآن سنقدم الدرس مفصل الخامس بعنوان المصفوفات وتتمثل محاور الحديث على :
مقدمه عن المصفوفات .
التعامل مع المصفوفات ومفتاح القيمه .
أنواع المصفوفات .
المصفوفات البسيطه .
المصفوفات المعقده .
المصفوفات الخاصه .
دوال التعامل مع المصفوفات .

الشرح طريقة

1-مقدمه عن المصفوفات :
تحدثنا فيما سبق عن المتغيرات وأوضحنا أن المصفوفات هى نوع متميز من المتغيرات حيث بامكان المصفوفات أن تحمل أكثر من قيمه بنفس الاسم .
فبامكان المصفوفات أن تحمل كم كبير من القيم بعكس المتغيرات العاديه فالمتغيرات العاديه بمختلف انواعها تحمل قيمه واحده فقط أما المصفوفات فهمى تحمل أكثر من قيمه .

وعند تعريفنا للمصفوفات فاننا يمكن تعريفها على انها خريطه منسقه . تلك الخريطه من النوع الذى يعرف بقيمه تعرف بمفتاح . تلك الخريطه يمكنك أن تعرف بها كم هائل من القيم والتى يكون لكل قيمه بها مفتاح .

فى الحقيقه عند بداياتى فى البرمجه وتعلمى للبرمجه لم اقدر قيمة المصفوفات ولكن عندما دخلت العالم بتعمق اكتشفت انها من اهم أجزاء كود codeك البرمجى ومن أسس بناء كود code محترم http://www.dzbatna.com/images/smilies/bigsmile.gif
لذلك نصيحة منى اهتم بها جيدا .....

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

<code style="white-space:nowrap"> <code> $ahmed = "Mr.Ajax";
</code> </code>

فى المصفوفات قد يكون الأمر مختلف الى حد ما
فعندما نريد أن نعرف مصفوفه فاننا يجب أن نخبر المترجم اننا سنعرف مصفوفه وهذا يتم باستخدام الداله array()
فمثلا اذا اردنا ان نعرف مصفوفه فسنقوم بما يلى :
رمز PHP:

<code style="white-space:nowrap"> <code> $ahmed = array("enginner","programmer","developer");
</code> </code>

بالمثال السابق يجب توضيح ما يلى :
ahmed : اسم المصفوفه
array : وجب استخدامها لكى نخبر المترجم ان ما سيتعامل معه هو عباره عن مصفوفه وليس متغير عادى .
(&quot;enginner&quot;,&quot;programmer&quot;,&quot;developer&quot;) : هى قيم المصفوفه ويتم الفصل بين كل قيمه والآخرى بفاصله .

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

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

<code style="white-space:nowrap"> <code> 1=> engineer
2=> programmer
3=> developer
</code> </code>

أما اذا أردنا أن نقوم بتعريف مفتاح القيمه بصوره خاصه بنا فاننا سنقوم بمايلى :
رمز PHP:

<code style="white-space:nowrap"> <code> $ahmed = array("first" => "enginner","second" => "programmer","third" => "developer");
</code> </code>

وفى هذا المثال قمنا نحن يدويا باسناد قيمة مفتاح القيمه الخاص بقيمة عنصر المصفوفه .
ويكون مفتاح العنصر الأول هو first ومفتاح العنصر الثانى هو second والعنصر الثالث هو third
رمز PHP:

<code style="white-space:nowrap"> <code> first =>engineer
second=>programmer
third=>developer
</code> </code>

والآن نعود الى استدعاء عنصر من المصفوفه .
فى هذا المثال
رمز PHP:

<code style="white-space:nowrap"> <code> $ahmed = array("enginner","programmer","developer");
</code> </code>

اذا أردنا أن نستدعى العنصر الأول فكما أشرنا سابقا أن مفتاحه هو صفر فسنقوم بكتابة ما يلى :
رمز PHP:

<code style="white-space:nowrap"> <code> echo $ahmed&#91;0&#93;;
</code> </code>

واذا اردنا استدعاء العنصر الثانى من المصفوفه
رمز PHP:

<code style="white-space:nowrap"> <code> echo $ahmed&#91;1&#93;;
</code> </code>

وهكذا مع باقى عناصر المصفوفه ........

أما بالنسبه لهذا المثال
رمز PHP:

<code style="white-space:nowrap"> <code> $ahmed = array("first" => "enginner","second" => "programmer","third" => "developer");
</code> </code>

فقد أشرنا سابقا أننا قمنا بتعريف مفتاح القيمه أو مفتاح الوصول
فاذا أردنا استدعاء العنصر الأول من المصفوفه :
رمز PHP:

<code style="white-space:nowrap"> <code> echo $ahmed&#91;first&#93;;
</code> </code>

أما اذا أردنا استدعاء العنصر الثانى من المصفوفه
رمز PHP:

<code style="white-space:nowrap"> <code> echo $ahmed&#91;second&#93;;
</code> </code>

وهكذا مع باقى عناص المصفوفه ......

3- أنواع المصفوفات :
عند حديثنا عن أنواع المصفوفات فاننا يمكن أن نصنفهم كما يلى :
مصفوفات بسيطه : ذات بعد واحد .
مصفوفات معقده : ذات الأبعاد المتباعده .
مصفوفات خاصه : تستعمل فى نقل البيانات بين الصفحات والجلسات .
4- المصفوفات البسيطه :
المصفوفات البسيطه هى التى أشرنا اليها فى المثالين السابقين وهى تتكون من بعد واحد فقط .
وتم الاشاره اليها بالأمثله فى الفقرات السابقه .

5- المصفوفات المعقده :
المصفوفات المعقده أو كما يطلق عليها المتعددة الأبعاد أو التى ذات أكثر من بعد فهى تتشعب لجلب صفات وعناصر لأكثر من عنصر حتى تصبع معقده جدا .

فمثلا فى هذا المثال سيكون فهمه سهل جدا اذا كنت قد اتقنت ما تم ذكره فى الفقرات السابقه
رمز PHP:

<code style="white-space:nowrap"> <code> $ahmed = array(
"first" => array(
"A"=>"Ahmed",
"b"=>"Selim",
"c"=>"refaat"),
"second" => array(
"A"=>"Mohammed",
"b"=>"selim",
"c"=>"refaat"),
);
</code> </code>

أما عن طريقة الاستعلام فستكون بطريقة متسلسه مثال على استدعاء العنصر الاول من المصفوفه الثانيه من المصفوفه الاولى :
رمز PHP:

<code style="white-space:nowrap"> <code> echo $ahmed&#91;"second"&#93;&#91;"A"&#93;;
</code> </code>

6- المصفوفات الخاصه :
ومنها HTTP_GET_VARS
وكذلك HTTP_POST_VARS
هى ليست متغيرات ولكنها مصفوفات تختزن بها البيانات التى يتم نقلها من صفحة لأخرى ويتم تعريفها تلقائيا عندما تصل المتغيرات الى صفحه أخرى بواسطة الوسيله get او post
وسيتم الحديث باستفاضه عن تلك المتغيرات والتعامل معها عند التعامل مع النماذج فى الدروس القادمه .

7- دوال التعامل مع المصفوفات :
هناك الكثير والكتير من الدوال التى تختص بالتعامل مع المصفوفات سنتحدث عن الأكثر استخداما منها ويمكنك الاطلاع على قائمة الدوال التعامل مع المصفوفات على الرابط التالى :
http://www.php.net/manual/en/ref.array.php
ومن أهم الدوال :

array()
تقوم بحجز مصفوفه جديده وتحدثنا عنها فى الفقرات السابقه

list .... each
تختص بصنع مصفوفه مفهرسه بجداول html



ومثال على تلك الداله :
رمز PHP:

<code style="white-space:nowrap"> <code> <?php
$ahmed = array("first" => "enginner","second" => "programmer","third" => "developer");

while (list($key, $val) = each($ahmed)) {
echo "$key = $val<br>";
}
?> </code> </code>


print_r()
تعرض المصفوفه فى شكل هرمى للتعرف بسهوله على عناصر كل مصفوفه
ومثال على تلك الداله :
رمز PHP:

<code style="white-space:nowrap"> <code> <?php
$ahmed = array("first" => "enginner","second" => "programmer","third" => "developer");

echo "<pre>";
print_r ($ahmed);
echo "</pre>";
?> </code> </code>

array_merge()
تقوم بدمج مصفوفتان فى مصفوفه جديده واحده
ومثال على تلك الداله
رمز PHP:

<code style="white-space:nowrap"> <code> <?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?> </code> </code>

array_push()
تقوم باضافة قيمه أو اكثر الى مهاية المصفوفه
ومثال على تلك الداله
رمز PHP:

<code style="white-space:nowrap"> <code> <?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?> </code> </code>

array_unique()
تقوم بارجاع عناصر المصفوفه بدون تكرار
ومثال على تلك الداله
رمز PHP:

<code style="white-space:nowrap"> <code> <?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?> </code> </code>

فى النهايه يرجى النظر الى مرجع دوال التعامل مع المصفوفات على الرابط التالى
http://www.php.net/manual/en/ref.array.php


الى هنا ينتهى الدرس مفصل الخامس
الى اللقاء باذن الله فى الدرس مفصل السادس
ملحوظه : استعنت فى هذا الدرس مفصل ببعض الأمثله من موقع php.net ووجب التنويه

دروس سابقه :


[دورة ديزاد باتنة المفتوحة 2014] الدرس مفصل الاول : مقدمة ومتطلبات (http://dzbatna.net/vb/showthread.php?t=1507560) بتاريخ : السبت 20-3-2014

[دورة ديزاد باتنة المفتوحة 2014] مرجع رقم 1 (برامج السيرفر SERVERات والتحرير) (http://dzbatna.net/vb/showthread.php?t=1509918) بتاريخ : الاثنين 22-3-2014


[دورة ديزاد باتنة المفتوحة 2014]الدرس مفصل الثانى:مفاهيم والمتغيرات والثوابت وكتابة أول برنامج (http://dzbatna.net/vb/showthread.php?t=1510991) بتاريخ الثلاثاء 23-3-2014

[دورة ديزاد باتنة المفتوحة 2014] تطبيق رقم 1 (عمليات رياضية) (http://dzbatna.net/vb/showthread.php?t=1513013) بتاريخ الخميس 25-3-2014

[دورة ديزاد باتنة المفتوحة 2014]الدرس مفصل الثالث : اتخاذ القرارات وحلقات التكرار (http://dzbatna.net/vb/showthread.php?t=1515009) بتاريخ 27 -3-2014

[دورة ديزاد باتنة المفتوحة 2014] درس مفصل تطبيقى رقم 2 (الحلقات التكرارية واتخاذ القرار) (http://dzbatna.net/vb/showthread.php?t=1522105) بتاريخ 3/4/2014





[دورة ديزاد باتنة المفتوحة 2014]الدرس مفصل الرايع : الدوال Functions (http://dzbatna.net/vb/showthread.php?t=1529019) بتاريخ السبت 10/4/2014

[دورة ديزاد باتنة المفتوحة 2014] درس مفصل تطبيقى رقم 3 (الدوال) (http://dzbatna.net/vb/showthread.php?t=1561534) بتاريخ السبت 15/5/2014




أرجو أن أكون قد قدمت لكم الدرس مفصل بشكل واضح ومفهوم
واذا كان هناك شئ يشوبه الغموض لا تتردد فى وضع استفسارك

تقبلوا تحياتى
Mr.Ajax








ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)


الملفات المرفقة
http://www.traidnt.net/vb/images/attach/zip.gif [دورة ترايدنت المفتوحة] الدرس الخامس المصفوفات.zip (http://www.traidnt.net/vb/attachments/495089d1277412714-[دورة-ترايدنت-المفتوحة]-الدرس-الخامس-المصفوفات.zip) (274.8 كيلوبايت, عدد مرات المشاهدة 53 مرة)


https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى