الرئيسية المنتدى مركز رفع الصور صفحتنا على الفيس قناة اليوتيوب صفحتنا على تويتر واتس اب قوانين المنتدى
منتدى مجمع التطوير    

العودة   منتدى مجمع التطوير > المنتدى المتخصص > لغـات البرمجـة والمشـاريع الجـاهزة > برمجة الويب web development

الملاحظات

برمجة الويب web development يهتم ببرامج الويب php, Sql, Java ,asp.net ,xml ,html

آخر 10 مشاركات افعل الخير ولا تنظر جزاءه الا من الله (الكاتـب : admin - مشاركات : 0 - المشاهدات : 36 - الوقت: 08:12 PM - التاريخ: 07-27-2021)           »          دليلك لبناء الباك لينك Backlink لموقعك بطريقة صحيحة (الكاتـب : admin - مشاركات : 2 - المشاهدات : 280 - الوقت: 10:15 PM - التاريخ: 07-26-2021)           »          ملف ال robots.txt وتوجيه عناكب محركات البحث لموقعك (الكاتـب : admin - مشاركات : 2 - المشاهدات : 345 - الوقت: 01:24 PM - التاريخ: 07-21-2021)           »          أهلا وسهلا أليت تيم رياك (الكاتـب : رياك مشار - مشاركات : 2 - المشاهدات : 272 - الوقت: 05:58 PM - التاريخ: 07-03-2021)           »          تحميل لعبة فرايدي نايت فانكن Friday Night Funkin للكمبيوتر 2021 (الكاتـب : الادارة كريم - آخر مشاركة : admin - مشاركات : 2 - المشاهدات : 523 - الوقت: 10:41 PM - التاريخ: 07-01-2021)           »          برنامج البيع بالتقسيط مجاني مصمم بالاكسيس (الكاتـب : ابن الوليد - آخر مشاركة : admin - مشاركات : 1 - المشاهدات : 642 - الوقت: 04:37 AM - التاريخ: 06-25-2021)           »          الصحابي الجليل سعد بن معاذ الأنصاري (الكاتـب : admin - مشاركات : 0 - المشاهدات : 290 - الوقت: 01:25 AM - التاريخ: 06-25-2021)           »          كيفية صلاة الحاجة (الكاتـب : admin - مشاركات : 0 - المشاهدات : 263 - الوقت: 12:13 AM - التاريخ: 06-25-2021)           »          Format FactoryV5.7.5.0 (الكاتـب : admin - مشاركات : 0 - المشاهدات : 301 - الوقت: 11:01 PM - التاريخ: 06-24-2021)           »          رجل أقسم بأن لا يتزوج حتى يشاور مائة رجل (الكاتـب : admin - مشاركات : 0 - المشاهدات : 305 - الوقت: 09:57 PM - التاريخ: 06-24-2021)

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 05-28-2021, 03:04 AM
الصورة الرمزية الادارة كريم
الادارة كريم 
مشرف سابق
 
تاريخ التسجيل: May 2021
الدولة: مصر
المشاركات: 397
معدل تقييم المستوى: 18
الادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to beholdالادارة كريم is a splendid one to behold


افتراضي المصفوفات في بي اتش بي PHP Arrays

 

المصفوفة في PHP هي طريقة لتخزين قيم متعددة بمتغير واحد.
لنفرض ان لديك معلومات شخص مثل الاسم ، و العمر ، و السكن ، و ترغب بتخزينها بمتغير واحد ، في هذه الحالة سوف نستخدم المصفوفات لتحقيق ذلك.
مثال:
<?php $person = array('ali', 29, 'KSA'); echo "My name is $person[0] and i'm $person[1] years old and from $person[2]"; ماهي المصفوفة:
نستطيع تبسيط التعريف على ان المصفوفة عبارة عن متغير خاص يستطيع تخزين أكثر من قيمة.
ويمكن تبسيطها ايضا على ان المصفوفة تكون عبارة عن مفاتيح Keys وقيم Values حيث لكل مفتاح Key قيمة Value.
لنفرض ان لديك قائمة باسماء طلاب ، و ترغب بتخزينهم بمتغيرات ستكون بهذا الشكل:
$student1 = "Ahmed"; $student2 = "Khaled"; $student3 = "Mohammed"; ولكن ماذا لوكانت قائمة الطلاب فوق 100 طالب وليست فقط 3 ، و كنت تريد البحث في هذه القائمة عن طالب محدد وعرضه؟
الحل بكل بساطة هي بعمل مصفوفة لتخزين هذه القائمة ، حيث ان المصفوفة قادرة على تخزين العديد من القيم تحت متغير واحد ولكل قيمة يتم تعيين index number او مايعرف بمفتاح او مؤشر القيمة والذي عن طريقه نستطيع الوصول لاي قيمة والتعامل معها.
انشاء المصفوفات:
قبل ان نبدأ يجب ان تعلم أنه يوجد ٣ أنواع للمصفوفات في PHP:

  • Indexed arrays مصفوفة بمفاتيح عددية numeric index حيث انه كل مفتاح عددي يحتوي قيمة مخزنة.
  • Associative arrays عندما نقوم بتعريف اسم المفتاح named keys لكل قيمة نخزنها فإن المصفوفة تصبح من هذا النوع.
  • Multidimensional arrays وهي عبارة عن مصفوفة تحتوي على مصفوفات بداخلها.
في PHP نستطيع انشاء المصفوفات باستخدام الدالة array() وفي نسخ PHP الحديثة من الممكن ايضا استخدام الأقواس المربعه [] لإنشاء المصفوفات.
مثال:
<?php $arr1 = array(); $arr2 = []; $arr3[0] = 'text'; $arr4['text'] = 'some text'; Indexed arrays:
يوجد طريقتين لإنشاء مصفوفة من النوع Indexed arrays.
الطريقةالأولى:
يتم انشاء المصفوفة ويتم تعيين المفاتيح indexes بشكل تلقائي من قبل PHP حيث ان المفاتيح دائما تبدأ بصفر 0 .
مثال باستخدام الدالة array:
<?php $person = array('Ali', 29, 'KSA'); مثال باستخدام الاقواس المربعة:
<?php $person = ['Ali', 29, 'KSA']; الطريقة الثانية:
ان نقوم بتعيين المفاتيح بشكل يدوي كالتالي:
<?php $person[0] = 'Ali'; $person[1] = 29; $person[2] = 'KSA'; كما قلنا سابقا نستطيع الوصول لاي قيمة بواسطة مفتاح index لهذه القيمة وبداية الدرس قمنا بانشاء مصفوفة من النوع Indexed arrays وطبعنا نص للمتصفح يحتوي قيم مخزنة داخل المصفوفة.
مثال:
<?php $person = array('ali', 29, 'KSA'); echo "My name is $person[0] and i'm $person[1] years old and from $person[2]"; عند عرض الملف بالمتصفح فإن الناتج كالتالي
Associative arrays:
المصفوفات من النوع Associative arrays تستخدم مسميات للمفاتيح named keys عند تخزين القيم.
يوجد طريقتين لإنشاء مصفوفة من النوع Associative arrays.
الطريقةالأولى:
نستطيع انشاء مصفوفات من النوع Associative arrays باستخدام الدالة array او الاقواس المربعة كالتالي:
<?php $students = array("Ali"=>"29", "Khaled"=>"30", "Mohammed"=>"35"); // OR $students = ["Ali"=>"35", "Khaled"=>"37", "Mohammed"=>"43"]; لاحظ في الأمثلة ان كل اسم يحتوي على قيمة مخزنة ، بحيث اننا قمنا بتعريف اسم المفتاح ثم استخدمنا علامة => لتخزين القيمة.
الطريقة الثانية:
<?php $students['Ali'] = "29"; $students['Khaled'] = "30"; $students['Mohammed'] = "35"; لاحظ في الأمثلة ان كل اسم يحتوي على قيمة مخزنة.
ونستطيع استخدام هذه المسميات لطباعة القيم المخزنة كالتالي:
<?php $students = array("Ali"=>"29", "Khaled"=>"30", "Mohammed"=>"35"); echo "Khaled is " . $students['Khaled'] . " years old."; عند عرض الملف بالمتصفح فإن الناتج كالتالي
Multidimensional arrays:
كما ذكرنا سابقا بان المصفوفات بشكل مبسط عبارة عن مفاتيح وقيم ، حيث لكل مفتاح قيمة مخزنة ، و لكن احيانا ترغب بتخزين قيمة باحد المفاتيح تحتوي على العديد من المفاتيح ، و القيم ايضا في هذه الحالة نقوم بإنشاء مصفوفة من النوع Multidimensional arrays.
نستطيع تبسيط هذا النوع بأنه عبارة عن مصفوفة تحتوي على مصفوفة او اكثر.
ملاحظة: PHP تستطيع فهم والتعامل مع مصفوفات من النوع Multidimensional arrays ، التي تحتوي على مصفوفة ، او مصفوفتين ، او ثلاث مصفوفات ، و حتى اربع ، و خمس مستويات من المصفوفات المخزنة ، لكن المصفوفات التي تحتوي على اكثر من 3 مستويات من المصفوفات المخزنة صعبة في التعامل من قبل اغلب المطورين.
كما ذكرنا يمكن تخزين عدة مستويات من المصفوفات داخل اي مصفوفة وبها يتم معرفة نوع المصفوفة وعدد المؤشرات او عدد المفاتيح التي نحتاجها للوصول الى القيمة المخزنة مثلا لو لدينا مصفوفة وداخلها خزنا مصفوفات في PHP نطلق على هذا النوع Two-dimensional Arrays ولو كان لدينا مصفوفة وبداخلها مصفوفات وبداخل هذه المصفوفات خزنا ايضا مصفوفات نطلق عليها اسم Three-dimensional array
مثال على Two-dimensional Arrays:
كما في الأمثلة السابقة نستطيع انشاء المصفوفات باستخدام الدالة array او الاقواس المربعة:
<?php $students = array( array('Ali', 29, 'KSA'), array('Khaled', 30, 'KSA'), array('Mohammed', 35, 'KSA') ); // OR $students = [ ['Ali', 29, 'KSA'], ['Khaled', 30, 'KSA'], ['Mohammed', 35, 'KSA'] ]; كما ذكرنا انه على عدد المستويات المخزنة من المصفوفات نستطيع معرفة عدد المفاتيح التي نحتاج للوصول الى القيمة المخزنة والتعامل معها، في هذا النوع Two-dimensional Arrays نحتاج الى مفتاحين للوصول الى القيمة وعرضها بالمتصفح كالتالي:
<?php $students = array( array('Ali', 29, 'KSA'), array('Khaled', 30, 'KSA'), array('Mohammed', 35, 'KSA') ); echo $students[0][0] . " is " . $students[0][1] . " years old and from " . $students[0][2] . "<br>"; echo $students[1][0] . " is " . $students[1][1] . " years old and from " . $students[1][2] . "<br>"; echo $students[2][0] . " is " . $students[2][1] . " years old and from " . $students[2][2] . "<br>"; عند عرض الملف بالمتصفح فإن الناتج كالتالي
التعامل مع المصفوفات:
لاحظ في الأمثلة السابقة قمنا باستخدام الدالة echo لطباعة القيم للمتصفح باستخدام مفاتيح المصفوفة مباشرة ، و لكن احيانا نرغب بالتعامل مع جميع العناصر المخزنة بالمصفوفة بشكل ديناميكي وأكثر مرونة ، هنا سوف نستخدم حلقات التكرار Loop للتعامل مع المصفوفات ، يمكن الاستفادة من هذا الدرس للتعرف بشكل اكبر عن التكرار في PHP.

اضغط هنا
نستطيع استخدام كل من for و foreach للتعامل مع المصفوفات ، و لكن يفضل استخدام foreach ؛ و السبب انها مخصصة للتعامل مع المصفوفات.
Indexed arrays:
<?php $person = array('Ali', 'Khaled', 'Mohammed'); // for loop example for ($i=0; $i < count($person); $i++) { echo $person[$i] . '<br>'; } // foreach loop example foreach ($person as $value) { echo $value . '<br>'; } عند عرض الملف بالمتصفح فإن الناتج كالتالي
Associative arrays:
يفضل استخدام foreach للحصول على المفاتيح والقيم والتعامل معهم
<?php $students = array("Ali"=>"29", "Khaled"=>"30", "Mohammed"=>"35"); // foreach example foreach ($students as $key => $value) { echo $key . " is " . $value . " years old. <br>"; } عند عرض الملف بالمتصفح فإن الناتج كالتالي
Multidimensional arrays:
<?php $students = array( array('Ali', 29, 'KSA'), array('Khaled', 30, 'KSA'), array('Mohammed', 35, 'KSA') ); // for eaxample for ($row = 0; $row < count($students); $row++) { echo "<p><b>Row number $row</b></p>"; for ($col = 0; $col < count($students[$row]); $col++) { echo $students[$row][$col] . "<br>"; } } // foreach eaxample foreach ($students as $student) { echo "<p><b>Student Information</b></p>"; foreach ($student as $key => $value) { echo $value . "<br>"; } } عند عرض الملف بمثال for بالمتصفح فإن الناتج كالتالي
عند عرض الملف بمثال foreach بالمتصفح فإن الناتج كالتالي


الموضوع الأصلي : المصفوفات في بي اتش بي PHP Arrays || الكاتب : الادارة كريم || المصدر : منتدى مجمع التطوير

 

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
[VB.net] فيجوال بيسك شرح المصفوفات - vb.net : Arrays admin برامج Microsoft Visual 0 03-29-2021 08:15 PM

 

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

  • الرئــيســية

  • الــمنــتـدى

  • مركز الرفع

  • التسـجـيل

  • قوانين المنتدى

  • التعـلـيمـات

  • الترقيات

check pagerank

 Flag Counter

كلمة الإدارة  منتدى مجمع التطوير غير مسئول عن أي طرح من الأعضاء فتلك الموضوعات تعبر عن رأى صاحبها ومن خلال وضع قوانين وتعليمات المشاركة بالمنتدى نسعى جاهدين لتطبيق تلك التعليمات. والمنتدى أيضا غير مسئول عن أي اتفاق مالي أو تجارى بين الأعضاء وبذلك تعد هذه الصيغة إخلاء مسئولية من جانب إدارة المنتدى وفقنا ووفقكم الله لما فيه الخير
 
الساعة الآن 08:51 AM


Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
جميع الحقوق محفوظة لمجمع التطوير