إضافة عنصر جديد إلى مجموعة php. PHP: إضافة عناصر المصفوفة وإزالتها. تحديد العناصر في المصفوفة
إضافة عناصر إلى مجموعة
في حالة وجود المصفوفة ، يمكن إضافة عناصر إضافية إليها. يتم ذلك مباشرة باستخدام عامل التعيين (علامة التساوي) بنفس طريقة تعيين قيمة لسلسلة أو رقم. في هذه الحالة ، لا تحتاج إلى ضبط مفتاح العنصر المضاف ، ولكن على أي حال ، عند الوصول إلى المصفوفة ، فأنت بحاجة أقواس مربعة... بإضافة عنصرين جديدين إلى قائمة $ ، نكتب:
قائمة $ = "الكمثرى" ؛
قائمة $ = "طماطم" ؛
إذا لم يتم تحديد مفتاح ، فسيتم إضافة كل عنصر إلى المصفوفة الموجودة وفهرستها بالرقم المتسلسل التالي. إذا أضفنا عناصر جديدة إلى المصفوفة من القسم السابق ، التي تحتوي عناصرها على الفهارس 1 و 2 و 3 ، فإن الكمثرى سيكون لها فهرس 4 والطماطم 5. عندما تقوم بتعيين الفهرس صراحة ، وتكون القيمة به بالفعل موجود ، ثم ستفقد القيمة الموجودة في هذا المكان ويتم استبدالها بقيمة جديدة:
قائمة $ = "الكمثرى" ؛
قائمة $ = "طماطم" ؛
الآن قيمة العنصر في الفهرس 4 هي "الطماطم" والعنصر "البرتقال" لم يعد موجودًا. أنصح بعدم تحديد مفتاح عند إضافة عناصر إلى مصفوفة ، إلا إذا كنت تريد ، بالطبع ، الكتابة فوق أي بيانات موجودة على وجه التحديد. ومع ذلك ، إذا تم استخدام السلاسل كمؤشرات ، فيجب تحديد المفاتيح حتى لا تفقد القيم.
سنحاول إضافة عناصر جديدة إلى المصفوفة عن طريق إعادة كتابة البرنامج النصي soups.php. أولاً ، من خلال طباعة العناصر الأصلية للمصفوفة ، ثم العناصر الأصلية جنبًا إلى جنب مع العناصر المضافة ، يمكننا بسهولة رؤية التغييرات التي حدثت. مثلما يمكنك معرفة طول سلسلة (عدد الأحرف التي تحتوي عليها) باستخدام وظيفة strlen () ، من السهل أيضًا تحديد عدد العناصر في مصفوفة باستخدام دالة count ():
HowMany $ = count ($ Array) ؛
- افتح ملف soups.php بتنسيق محرر النص.
- بعد تهيئة المصفوفة بوظيفة المصفوفة () ، أضف الإدخال التالي: $ HowMany = count (الحساء بالدولار الأمريكي) ؛
- أضف ثلاثة عناصر إضافية إلى المصفوفة. الحساء بالدولار الأمريكي ["الخميس"] = "نودل الدجاج" ؛
- أعد حساب العناصر في المصفوفة واطبع هذه القيمة. $ HowManyNow = count (الحساء بالدولار الأمريكي) ؛
- احفظ البرنامج النصي (قائمة 7.2) ، وقم بتحميله على الخادم ، واختبره في المتصفح (الشكل).
print ("تحتوي المصفوفة على عناصر $ HowMany.
\ ن ")؛
ستحدد الدالة count () عدد العناصر الموجودة في مصفوفة $ Soups. من خلال تخصيص هذه القيمة لمتغير ، يمكنك طباعتها.
الحساء بالدولار الأمريكي ["Friday"] = "Tomato"؛
$ الحساء ["Saturday"] = "كريمة البروكلي"؛
print ("تحتوي المصفوفة الآن على عناصر HowManyNow $.
\ ن ")؛
قائمة 7.2 يمكنك إضافة عنصر واحد مباشرة في كل مرة إلى مصفوفة عن طريق تعيين قيمة لكل عنصر باستخدام عامل التشغيل المناسب. يمكن استخدام الدالة count () لمعرفة عدد العناصر الموجودة في المصفوفة.
1
2
3
4
5 6 دولار حساء = صفيف (
7 "الاثنين" => "حساء البطلينوس" ،
8 "الثلاثاء" => "وايت تشيكن تشيلي" ،
9 "الأربعاء" => "نباتي") ؛
11 طباعة ("تحتوي المصفوفة على $ HowMany
عناصر.
\ ن ")؛
12 دولارًا حساءًا ["الخميس"] = "دجاج نودل" ؛
شوربات 13 دولارًا ["Friday"] = "طماطم"؛
14 دولارًا حساءًا ["Saturday"] = "كريمة من
بروكلي "؛
15 $ HowManyNow = count (شوربات بالدولار الأمريكي) ؛
16 طباعة ("تحتوي المجموعة الآن على
عنصر HowManyNow $.
\ ن ")؛
17 ?>
18
19
طرح PHP 4.0 وظيفة جديدة، مما يسمح لك بإضافة مجموعة إلى أخرى. يمكن أيضًا تسمية هذه العملية بمصفوفات دمج أو متسلسلة. تسمى الدالة array_merge () على النحو التالي:
$ NewArray = array_merge ($ OneArray، $ TwoArray)؛
يمكنك إعادة كتابة صفحة soups.php باستخدام هذه الوظيفة إذا كنت تستخدم خادمًا مثبتًا عليه PHP 4.0.
دمج صفيفين
- افتح ملف soups.php في محرر نصوص إذا لم يكن مفتوحًا بالفعل.
- بعد تهيئة مصفوفة $ Soups ، عدّ عناصرها واطبع النتيجة. $ HowMany = count (الحساء بالدولار الأمريكي) ؛
- اربط المصفوفتين في صف واحد. $ TheSoups = array_merge (الحساء بالدولار ، الحساء 2 بالدولار) ؛
- عد عناصر المصفوفة الجديدة واطبع النتيجة. $ HowMany3 = count ($ TheSoups) ؛
- أغلق مستند PHP و HTML. ?>
- حفظ الملف (قائمة 7.3) ، وتحميله على الخادم ، واختباره في المتصفح (الشكل).
print ("تحتوي مصفوفة $ Soups على عناصر $ HowMany.
\ ن ")؛
- أنشئ مصفوفة ثانية وعد عناصرها واطبع النتيجة أيضًا.
"الخميس" => "دجاج نودل" ،
"الجمعة" => "طماطم" ،
"Saturday" => "Cream of Broccoli") ؛
$ HowMany2 = count (الحساء 2 دولار) ؛
print ("تحتوي المصفوفة $ Soups2 على عناصر $ HowMany2.
\ ن ")؛
تأكد من أن المصفوفات بهذا الترتيب (الحساء بالدولار ، ثم الحساء 2 بالدولار) ، أي يجب إضافة عناصر يومي الخميس والجمعة إلى عناصر يوم الأربعاء ، وليس العكس.
print ("تحتوي مجموعة $ TheSoups على ملفات
- HowMany3 $ عناصر.
\ ن ")؛
![](https://i0.wp.com/weblibrary.biz/bimages/php/img49.gif)
سرد 7.3 وظيفة Array_merge () جديدة. هذه إحدى وظائف PHP 4.0 الإضافية للعمل مع المصفوفات. يمكن أن يوفر لك استخدام المصفوفات الكثير من الوقت.
1
2
3
4
5 6 دولار حساء = صفيف!
7 "الاثنين" => "حساء البطلينوس" ،
"الثلاثاء" => "الدجاج الأبيض بالفلفل الحار" ،
8 "الأربعاء" => "نباتي"
9);
10 $ HowMany = count (شوربات بالدولار الأمريكي) ؛
11 طباعة ("تحتوي مصفوفة $ Soups على عناصر HowMany $.
\ ن ")؛
12 دولار حساء 2 = مصفوفة (
13 "الخميس" => "دجاج نودل" ،
14 "الجمعة" => "طماطم" ،
15 "السبت" => "كريمة البروكلي"
16); .
17 دولار HowMany2 = count (حساء 2 دولار) ؛
18 طباعة ("تحتوي مصفوفة $ Soups2 على عناصر $ HowMany2.
\ ن ")؛
19 دولارًا TbeSoupe = array_merge (الحساء بالدولار ، الحساء 2 بالدولار) ؛
20 $ HowMany3 = count ($ TheSoups) ؛
21 طباعة ("تحتوي مصفوفة $ TheSoups. عناصر HowMany3. $.
\ ن ")؛
22 ?> "
23
24
كن حذرًا عند إضافة عناصر إلى المصفوفة مباشرةً. الطريقة الصحيحة للقيام بذلك هي: $ Ar ray = "Add This"؛ $ Aggau = "Add This" ؛ لكنها صحيحة كالتالي: $ Aggau = "Add This" ؛. إذا نسيت وضع الأقواس ، فإن القيمة المضافة ستدمر المصفوفة الحالية وتحولها إلى سلسلة أو رقم بسيط.
يحتوي PHP 4.0 على العديد من الوظائف الجديدة للعمل مع المصفوفات. لم يتم تناول كل منهم في الكتاب. ومع ذلك ، توجد معلومات كاملة حول هذا الموضوع في دليل لغة PHP ، والذي يمكن العثور عليه على موقع PHP على الويب. احرص على عدم استخدام ميزات جديدة تنفرد بها PHP 4.0 إذا كان الخادم الخاص بك يقوم بتشغيل PHP 3.x.
لنلقِ نظرة على طرق كتابة القيم في المصفوفة. يمكن تعديل المصفوفة الموجودة عن طريق تحديد القيم فيها بشكل صريح. يتم ذلك عن طريق تعيين قيم لمصفوفة.
تبدو التخصيصات لعنصر مصفوفة مماثلة لإسناد متغير ، باستثناء الأقواس المربعة () التي تمت إضافتها بعد اسم متغير المصفوفة. يشار إلى فهرس / مفتاح العنصر بين قوسين معقوفين. إذا لم يتم تحديد فهرس / مفتاح ، فستختار PHP تلقائيًا أصغر فهرس رقمي غير مشغول.
"صفر" ، 1 => "واحد") ؛ $ my_arr = "اثنان"؛ $ my_arr = "ثلاثة"؛ var_dump ($ my_arr) ؛ // مهمة بدون تحديد index / key $ my_arr = "four"؛ $ my_arr = "خمسة"؛ صدى صوت "
"؛ var_dump ($ my_arr) ؛؟>
لتغيير قيمة معينة ، تحتاج فقط إلى تعيين قيمة جديدة لعنصر موجود بالفعل. لإزالة أي عنصر من المصفوفة بفهرسه / مفتاحه ، أو لإزالة المصفوفة نفسها بالكامل ، استخدم الدالة unset ():
ملاحظة: كما ذكرنا سابقًا ، إذا تمت إضافة عنصر إلى مصفوفة بدون تحديد مفتاح ، فستستخدم PHP تلقائيًا أكبر قيمة مفتاح عدد صحيح سابقًا ، تتم زيادتها بمقدار 1. إذا لم تكن هناك فهارس أعداد صحيحة في المصفوفة حتى الآن ، فسيكون المفتاح 0 (صفر).
لاحظ أن أكبر قيمة مفتاح عدد صحيح لا توجد بالضرورة في المصفوفة في الوقت الحالي، قد يكون هذا بسبب إزالة عناصر المصفوفة. بعد إزالة العناصر ، لا يتم إعادة فهرسة المصفوفة. دعنا نعطي المثال التالي لتوضيح الأمر:
"؛ print_r ($ my_arr)؛ // أضف عنصرًا (لاحظ أن المفتاح الجديد سيكون 3 بدلاً من 0). $ my_arr = 6؛ echo"
"؛ print_r ($ my_arr)؛ // إعادة الفهرسة: $ my_arr = array_values ($ my_arr)؛ $ my_arr = 7؛ echo"
"؛ print_r ($ my_arr) ؛؟>
يستخدم هذا المثال وظيفتين جديدتين ، print_r () و array_values (). تقوم الدالة array_values () بإرجاع مصفوفة مفهرسة (تعيد فهرسة المصفوفة المرتجعة بمؤشرات رقمية) ، وتعمل دالة print_r مثل var_dump ، لكنها تُخرج المصفوفات بطريقة أكثر قابلية للقراءة.
يمكننا الآن التفكير في طريقة ثالثة لإنشاء المصفوفات:
أظهر المثال الطريقة الثالثة لإنشاء مصفوفة. إذا لم يتم إنشاء مصفوفة أيام الأسبوع $ بعد ، فسيتم إنشاؤها. ومع ذلك ، لا يوصى بهذا النوع من إنشاء المصفوفة لأنه إذا تم إنشاء متغير أيام الأسبوع $ بالفعل ويحتوي على قيمة ، فقد يؤدي ذلك إلى نتائج غير متوقعة من البرنامج النصي.
إذا كانت لديك أي شكوك حول ما إذا كان المتغير عبارة عن مصفوفة ، فاستخدم الدالة is_array. على سبيل المثال ، يمكن إجراء التحقق على النحو التالي:
"؛ $ no =" سلسلة عادية "؛ echo is_array ($ no)؟" Array ":" Not a array "؛؟>
بي أتش بييدعم أنواع البيانات العددية والمركبة. في هذه المقالة سنناقش أحد الأنواع المركبة: المصفوفات. المصفوفة عبارة عن مجموعة من قيم البيانات ، منظمة كمجموعة مرتبة من أزواج المفتاح والقيمة.
تتحدث هذه المقالة عن إنشاء مصفوفة وإضافة عناصر إلى مصفوفة. هناك العديد من الدوال المضمنة التي تعمل مع المصفوفات في بي أتش بي،لأن المصفوفات شائعة ومفيدة للاستخدام. على سبيل المثال ، إذا كنت ترغب في إرسال بريد إلكتروني إلى أكثر من عنوان بريد إلكتروني واحد ، فيمكنك تخزين عناوين البريد الإلكتروني في مصفوفة ثم المرور عبر المصفوفة ، وإرسال الرسائل إلى عنوان البريد الإلكتروني المأخوذ من المصفوفة.
المصفوفات المفهرسة والرابطية
يوجد نوعان من المصفوفات في PHP: مفهرسة وترابطية. مفاتيح المصفوفة المفهرسة هي أعداد صحيحة تبدأ من 0. تستخدم المصفوفات المفهرسة عندما تحتاج إلى موضع محدد في المصفوفة. تتصرف المصفوفات الترابطية مثل عمودين في جدول. العمود الأول هو المفتاح المستخدم للوصول إلى القيمة (العمود الثاني).
بي أتش بييخزن داخليًا جميع المصفوفات كمصفوفات ارتباطية ، لذا فإن الاختلاف الوحيد بين المصفوفات الترابطية والمصفوفة المفهرسة هو أن المفاتيح تظهر. بعض الوظائف مخصصة بشكل أساسي للاستخدام مع المصفوفات المفهرسة ، نظرًا لأنها تفترض أن المفاتيح الخاصة بك هي أعداد صحيحة متتالية تبدأ من 0. في كلتا الحالتين ، تكون المفاتيح فريدة - أي لا يمكنك الحصول على عنصرين بنفس المفتاح ، بغض النظر عما إذا كان المفتاح هو سلسلة أو عدد صحيح.
الخامس بي أتش بيتحتوي المصفوفات على ترتيب داخلي لعناصرها يكون مستقلاً عن المفاتيح والقيم ، وهناك وظائف يمكنك استخدامها لاجتياز المصفوفات بناءً على هذا الترتيب الداخلي.
تحديد العناصر في المصفوفة
يمكنك الوصول إلى قيم محددة من مصفوفة باستخدام اسم المصفوفة متبوعًا بمفتاح العنصر (يسمى أحيانًا الفهرس) بين قوسين مربعين:
العمر $ ["فريد"]؛ عروض $؛
يمكن أن يكون المفتاح سلسلة أو عددًا صحيحًا. يتم التعامل مع قيم السلسلة كأرقام (بدون أصفار بادئة) كأعداد صحيحة. هكذا، مجموعة $و مجموعة $ ["3"]تشير إلى نفس العنصر ، ولكن مجموعة $ ['03 ']يشير إلى عنصر آخر. يمكن أيضًا استخدام الأرقام السالبة كمفاتيح ، لكنها لا تحدد المواضع من نهاية المصفوفة ، كما في بيرل.
ليس من الضروري إحاطة المفتاح بعلامات اقتباس. على سبيل المثال، مصفوفة $ ["فريد"]مثل $ arrat.لا يزال يعتبر أسلوب جيد بي أتش بياستخدم علامات الاقتباس دائمًا. إذا كان الفهرس بدون علامات اقتباس ، فإن PHP تستخدم القيمة الثابتة كفهرس:
تحديد ("الفهرس" ، 5) ؛ صدى $ صفيف؛ // سيعيد مجموعة $ ، وليس $ array ["index"] ؛
إذا كنت تريد استبدال رقم في الفهرس ، فأنت بحاجة إلى القيام بذلك:
$ age ["Clone $ number"]؛ // سيعود ، على سبيل المثال ، $ age ["Clone5"] ؛
ومع ذلك ، لا تقم بتضمين المفتاح بين علامتي الاقتباس في الحالة التالية:
// خطأ طباعة "Hello، $ person [" name "]" ؛ طباعة "Hello، $ person [" name "]" ؛ // تصحيح طباعة "Hello، $ person" ؛
تخزين البيانات في المصفوفات
عندما تحاول تخزين قيمة في مصفوفة ، سيتم إنشاء مصفوفة تلقائيًا إذا لم تكن موجودة من قبل ، ولكن عندما تحاول استرداد قيمة من مصفوفة لم يتم تعريفها ، لن يتم إنشاء المصفوفة. على سبيل المثال:
// لم يتم تعريف عناوين $ حتى الآن echo $ address؛ // لا شيء صدى $ عناوين؛ // لا شيء $ عناوين = "spam@cyberpromo.net" ؛ صدى $ عناوين؛ // طباعة "صفيف"
يمكنك استخدام مهمة بسيطة لتهيئة مصفوفة في برنامج ما:
عناوين $ = "spam@cyberpromo.net" ؛ عناوين $ = "abuse@example.com" ؛ عناوين $ = "root@example.com" ؛ // ...
لقد أعلنا عن مصفوفة فهرس بها فهارس أعداد صحيحة تبدأ من 0.
مصفوفة متصلة:
السعر بالدولار ["الحشية"] = 15.29 ؛ السعر بالدولار الأمريكي ["العجلة"] = 75.25 ؛ السعر بالدولار ["صور"] = 50.00 ؛ // ...
أسهل طريقة لتهيئة المصفوفة هي استخدام البنية مجموعة مصفوفة ()الذي يبني مصفوفة من وسيطاتها:
عناوين $ = مجموعة ("spam@cyberpromo.net"، "abuse@example.com"، "root@example.com")؛
لإنشاء مصفوفة ترابطية باستخدام مجموعة مصفوفة ()،استعمال => حرف فصل المؤشرات عن القيم:
$ price = array ("Gasket" => 15.29، "Wheel" => 75.25، "Tire" => 50.00) ؛
انتبه إلى استخدام المسافات والمحاذاة. يمكننا تجميع الكود ، لكن هذا سيكون أقل وصفيًا:
$ price = array ("Gasket" => 15.29، "Wheel" => 75.25، "Tire" => 50.00) ؛
لإنشاء مصفوفة فارغة ، تحتاج إلى استدعاء البناء مجموعة مصفوفة ()لا حجج:
عناوين $ = Array () ؛
يمكنك تحديد مفتاح بدء في مصفوفة ثم قائمة القيم. يتم إدخال القيم في مصفوفة ، بدءًا بمفتاح ثم تتزايد:
$ يوم = مجموعة (1 => "الاثنين" ، "الأربعاء" ، "الخميس" ، "الجمعة" ، "السبت" ، "الأحد") ؛ // 2 هو الثلاثاء ، 3 هو الأربعاء ، إلخ.
إذا كان فهرس البداية عبارة عن سلسلة ، فإن الفهارس اللاحقة تصبح أعدادًا صحيحة تبدأ من 0. لذا فمن المحتمل أن يكون الرمز التالي خطأ:
$ whoops = array ("Friday" => "Black"، "Brown"، "Green")؛ // مثل $ whoops = array ("Friday" => "Black" ، 0 => "Brown" ، 1 => "Green") ؛
إضافة عنصر جديد إلى نهاية المصفوفة
لإدراج قيم متعددة في نهاية مصفوفة مفهرسة موجودة ، استخدم بناء الجملة:
$ family = array ("Fred"، "Wilma")؛ // $ family = "Fred" $ family = "Pebbles" ؛ // $ family = "Pebbles"
يفترض هذا البناء أن فهارس المصفوفة هي أرقام وتخصص الفهرس الرقمي المتاح التالي للعنصر ، بدءًا من 0. محاولة إضافة عنصر إلى مصفوفة ترابطية غالبًا ما تكون خطأ مبرمجًا ، ولكن بي أتش بيسيضيف عناصر جديدة بمؤشرات رقمية (تبدأ من 0) دون إصدار تحذير:
$ person = array ("name" => "Fred") ؛ // $ person ["name"] = "Fred"؛ $ person = "Wilma" ؛ // $ person = "Wilma"
في هذه المرحلة ، سننهي الجزء التمهيدي من التعامل مع المصفوفات في PHP. أنا في انتظارك في المقال القادم.
هناك العديد من الوظائف والمعاملات لتحويل المصفوفات في php: مجموعة وظائف للعمل مع المصفوفات
هناك عدة طرق لإضافة مصفوفة إلى مصفوفة باستخدام php ، ويمكن أن تكون جميعها مفيدة للحالات الفردية.
"عامل التشغيل +"
هذه طريقة بسيطة ولكنها صعبة:
$ c = $ a + $ b
يضيف هذا فقط تلك المفاتيح غير الموجودة بالفعل في المصفوفة $. في هذه الحالة ، يتم إلحاق العناصر بنهاية المصفوفة.
بمعنى ، إذا كان المفتاح من المصفوفة $ b غائبًا في المصفوفة $ a ، فسيتم إضافة عنصر بهذا المفتاح إلى المصفوفة الناتجة.
إذا كانت المصفوفة $ a تحتوي بالفعل على عنصر به مثل هذا المفتاح ، فإن قيمته ستبقى دون تغيير.
بمعنى آخر ، يتغير المجموع من تغيير أماكن المصطلحات: $ a + $ b! = $ B + $ a - وهذا يستحق التذكر.
الآن للحصول على مثال أكثر تفصيلاً لتوضيح هذا:
$ arr1 = ["a" => 1، "b" => 2] ؛ $ arr2 = ["b" => 3، "c" => 4] ؛ var_export ($ arr1 + $ arr2) ؛ // array (// "a" => 1، // "b" => 2، // "c" => 4، //) var_export ($ arr2 + $ arr1) ؛ // مجموعة (// "b" => 3 ، // "c" => 4 ، // "a" => 1 ، //)
دالة Array_merge ()
يمكنك استخدام هذه الوظيفة على النحو التالي:
نتيجة $ = array_merge ($ arr1، $ arr2)
يقوم بإعادة تعيين المؤشرات الرقمية واستبدال السلاسل. رائعة لتسلسل صفيفين أو أكثر من المصفوفات المفهرسة رقميًا:
إذا كانت مصفوفات الإدخال تحتوي على نفس مفاتيح السلسلة ، فستحل كل قيمة لاحقة محل القيمة السابقة. ومع ذلك ، إذا كانت المصفوفات تحتوي على نفس المفاتيح الرقمية ، فلن تحل القيمة المذكورة أخيرًا محل القيمة الأصلية ، ولكن سيتم إلحاقها بنهاية المصفوفة.
دالة Array_merge_recursive
يفعل نفس الشيء مثل array_merge ولكن أيضًا يتكرر بشكل متكرر عبر كل فرع من المصفوفة ويفعل الشيء نفسه مع المتفردين.
دالة Array_replace ()
يستبدل عناصر المصفوفة بعناصر المصفوفات الأخرى التي تم تمريرها.
الدالة Array_replace_recursive ()
نفس عملية array_replace تعالج جميع فروع المصفوفة فقط.
لوحة المصفوفة
يضيف عناصر متعددة إلى المصفوفة.
بناء الجملة:
Array array_pad (إدخال مصفوفة ، حجم_حجم int ، pad_value مختلط)
يقوم Array_pad () بإرجاع نسخة من مصفوفة الإدخال ، والتي تمت إضافة العناصر التي تحتوي على pad_values بحيث يكون عدد العناصر في المصفوفة الناتجة مساويًا لـ pad_size.
إذا كانت pad_size> 0 ، فستتم إضافة العناصر إلى نهاية المصفوفة ، وإذا كان<0 - то в начало.
إذا كانت قيمة pad_size أقل من العناصر الموجودة في مصفوفة الإدخال الأصلية ، فلن تحدث إضافة ، وستقوم الوظيفة بإرجاع مصفوفة الإدخال الأصلية.
مثال على استخدام الدالة array_pad ():
$ arr = مجموعة (12، 10، 4) ؛
نتيجة $ = array_pad ($ arr، 5، 0) ؛
// $ result = array (12، 10، 4، 0، 0) ؛
نتيجة $ = array_pad ($ arr، -7، -1) ؛
// $ نتيجة = صفيف (-1 ، -1 ، -1 ، -1 ، 12 ، 10 ، 4)
نتيجة $ = array_pad ($ arr، 2، "noop")؛
// لن تضيف
خريطة_مصفوفة
تطبيق دالة مخصصة على جميع عناصر المصفوفات المحددة.
بناء الجملة:
Array array_map (رد نداء مختلط ، مجموعة arr1 [، صفيف ...])
ترجع الدالة array_map () مصفوفة تحتوي على عناصر كافة المصفوفات المحددة بعد معالجتها بواسطة دالة رد الاتصال المخصصة.
يجب أن يتطابق عدد المعلمات التي تم تمريرها إلى الوظيفة المعرفة من قبل المستخدم مع عدد المصفوفات التي تم تمريرها إلى الدالة array_map ().
مثال على استخدام الدالة array_map (): معالجة مصفوفة واحدة
إرجاع $ n * $ n * $ n؛
}
$ a = مجموعة (1 ، 2 ، 3 ، 4 ، 5) ؛
$ b = array_map ("cube"، $ a) ؛
print_r ($ b) ؛
?>
مجموعة مصفوفة (
=> 1
=> 8
=> 27
=> 64
=> 125
)
مثال على استخدام الدالة array_map (): معالجة المصفوفات المتعددة
إرجاع "الرقم $ n باللغة الإسبانية هو $ m"؛
}
وظيفة map_Spanish ($ n ، $ m) (
مجموعة الإرجاع ($ n => $ m) ؛
}
$ a = مجموعة (1 ، 2 ، 3 ، 4 ، 5) ؛
$ b = صفيف ("uno"، "dos"، "tres"، "cuatro"، "cinco")؛
$ c = array_map ("show_Spanish"، $ a، $ b) ؛
print_r ($ c) ؛
$ d = array_map ("map_Spanish"، $ a، $ b)؛
print_r ($ د) ؛
?>
سينتج المثال أعلاه ما يلي:
// طباعة من $ cArray (
=> الرقم 1 باللغة الإسبانية هو uno
=> الرقم 2 باللغة الإسبانية هو دوس
=> الرقم 3 باللغة الإسبانية هو tres
=> الرقم 4 بالإسبانية هو كواترو
=> الرقم 5 بالإسبانية هو cinco
)
// نسخة مطبوعة من $ dArray (
=> صفيف
=> أونو
)
=> صفيف
=> دوس
)
=> صفيف
=> تريس
)
=> صفيف
=> كواترو
)
=> صفيف
=> سينكو
)
عادةً ما يتم تطبيق الدالة array_map () على مصفوفات من نفس البعد. إذا كانت المصفوفات ذات أطوال مختلفة ، فإن الأصغر حجمًا تكون مبطنًا بعناصر ذات قيم فارغة.
وتجدر الإشارة إلى أنه إذا حددت قيمة خالية بدلاً من اسم وظيفة المعالجة ، فسيتم إنشاء مصفوفة من المصفوفات.
مثال على استخدام الدالة array_map (): تكوين مصفوفة من المصفوفات
$ b = مجموعة ("واحد" ، "اثنان" ، "ثلاثة" ، "أربعة" ، "خمسة") ؛
$ c = صفيف ("uno"، "dos"، "tres"، "cuatro"، "cinco")؛
$ d = array_map (فارغ ، $ a ، $ b ، $ c) ؛
print_r ($ د) ؛
?>
سينتج المثال أعلاه ما يلي:
مجموعة مصفوفة (
=> صفيف
=> 1
=> واحد
=> أونو
)
=> صفيف
=> 2
=> اثنان
=> دوس
)
=> صفيف
=> 3
=> ثلاثة
=> تريس
)
=> صفيف
=> 4
=> أربعة
=> كواترو
)
=> صفيف
=> 5
=> خمسة
=> سينكو
)
الوظيفة التي يدعمها PHP 4> = 4.0.6، PHP 5
array_pop
يسترجع ويزيل العناصر الأخيرة من المصفوفة.
بناء الجملة:
array_pop مختلط (مصفوفة arr) ؛
تسترد الدالة array_pop () العنصر الأخير من المصفوفة arr وتعيده ، وتزيله بعد ذلك. باستخدام هذه الوظيفة ، يمكننا بناء هياكل تشبه المكدس. إذا كان المصفوفة arr فارغة ، أو إذا لم تكن مصفوفة ، تقوم الدالة بإرجاع سلسلة فارغة فارغة.
بعد استخدام الدالة array_pop () ، يتم ضبط مؤشر الصفيف على البداية.
مثال على استخدام الدالة array_pop ():
الفواكه بالدولار = array_pop (مكدس بالدولار) ؛
print_r (المكدس $) ؛
print_r (بالفواكه $)؛
?>
سينتج المثال التالي:
مجموعة مصفوفة (
=> برتقالي
=> موز
=> تفاحة
)
الوظيفة مدعومة بواسطة PHP 4 و PHP 5
دفع الصفيف
يضيف عنصرًا واحدًا أو أكثر إلى نهاية المصفوفة.
بناء الجملة:
Int array_push (مصفوفة arr، مختلط var1 [، var2 مختلط، ..])
يضيف Array_push () var1 و var2 وما إلى ذلك إلى arr. تقوم بتعيين مؤشرات عددية لهم - تمامًا كما تفعل مع المؤشرات القياسية.
إذا كنت تحتاج فقط إلى إضافة عنصر واحد ، فقد يكون من الأسهل استخدام عامل التشغيل هذا:
Array_push (Arr ، 1000 دولار) ؛ // استدعاء الوظيفة $ Arr = 100 ؛ // هو نفسه ، لكن أقصر
مثال على استخدام الدالة array_push ():
array_push ($ stack، "apple"، "raspberry")؛
print_r (المكدس $) ؛
?>
سينتج المثال التالي:
مجموعة مصفوفة (
=> برتقالي
=> موز
=> تفاحة
=> توت العليق
)
لاحظ أن array_push () تأخذ مصفوفة مثل المكدس وتضيف دائمًا عناصر إلى نهايتها.
الوظيفة مدعومة بواسطة PHP 4 و PHP 5
تحويل المصفوفة
استرداد العنصر الأول في المصفوفة وإزالته.
بناء الجملة:
مجموعة مختلطة (Ar Array)
تسترد الدالة Array_shift () العنصر الأول من المصفوفة arr وتعيده. يشبه إلى حد كبير array_pop () ،
ولكنه يتلقى فقط العنصر الأولي ، وليس العنصر النهائي ، وينتج أيضًا "اهتزازًا" قويًا إلى حد ما للمصفوفة بأكملها: بعد كل شيء ، عند استخراج العنصر الأول ، يجب عليك ضبط جميع المؤشرات الرقمية لجميع العناصر المتبقية ، حيث يتم إزاحة جميع العناصر اللاحقة من المصفوفة مرة واحدة للأمام. لم يتم تغيير مفاتيح السلسلة للمصفوفة.
إذا كانت arr فارغة أو ليست مصفوفة ، ترجع الدالة NULL.
بعد استخدام هذه الوظيفة ، ينتقل مؤشر الصفيف إلى البداية.
مثال على استخدام الدالة array_shift ():
الفاكهة $ = array_shift (مكدس بالدولار الأمريكي) ؛
print_r (المكدس $) ؛
?>
سينتج هذا المثال ما يلي:
مجموعة مصفوفة (
=> موز
=> تفاحة
=> توت العليق
)
والمتغير الفاكهة $ لها القيمة "برتقالي".
الوظيفة مدعومة بواسطة PHP 4 و PHP 5
نظام الصفيف
يضيف قيمة واحدة أو أكثر إلى بداية المصفوفة.
بناء الجملة:
Int array_unshift (قائمة arr ، var1 مختلط [، var2 مختلط ، ...])
يضيف Array_unshift () قيم var التي تم تمريرها إلى بداية المصفوفة arr. يتم الاحتفاظ بترتيب العناصر الجديدة في المصفوفة. سيتم تغيير جميع المؤشرات الرقمية للمصفوفة بحيث تبدأ من الصفر. جميع فهارس السلسلة في المصفوفة لم تتغير.
ترجع الدالة العدد الجديد للعناصر في المصفوفة.
مثال على استخدام الدالة array_unshift ():
array_unshift ($ queue، "apple"، "raspberry")؛
?>
الآن سيحتوي المتغير $ queue على العناصر التالية:
مجموعة مصفوفة (
=> تفاحة
=> توت العليق
=> برتقالي
=> موز
)
الوظيفة مدعومة بواسطة PHP 4 و PHP 5
مجموعة_فريدة من نوعها
يزيل القيم المكررة في المصفوفة.
بناء الجملة:
صفيف array_unique (مصفوفة آر)
يقوم Array_unique () بإرجاع مصفوفة من جميع القيم الفريدة في arr ، جنبًا إلى جنب مع مفاتيحها ، عن طريق إزالة جميع القيم المكررة. يتم وضع أول مفتاح مصادفة => أزواج القيمة في المصفوفة الناتجة. يتم حفظ الفهارس.
مثال على استخدام الدالة array_unique ():
"أخضر" ، "أحمر" ، "ب" =>
"أخضر" ، "أزرق" ، "أحمر") ؛
print_r (نتيجة $) ؛
?>
سينتج المثال التالي:
مجموعة مصفوفة (
[أ] => أخضر
=> أحمر
=> أزرق
)
مثال على استخدام الدالة array_unique (): مقارنة أنواع البيانات
نتيجة $ = array_unique ($ input) ؛
var_dump (نتيجة $) ؛
?>
سينتج المثال التالي:
مجموعة (2) (
=> كثافة العمليات (4)
=> سلسلة (1) "3"
}
الوظيفة التي يدعمها PHP 4> = 4.0.1، PHP 5
مصفوفة
تقوم الوظيفة بتقسيم المصفوفة إلى أجزاء.
بناء الجملة:
Array array_chunk (array arr، int size [، boolkeeping_keys])
تعمل الدالة Array_chunk () على تقسيم المصفوفة الأصلية إلى عدة مصفوفات ، يتم تحديد طولها بواسطة حجم الرقم. إذا لم يكن أبعاد المصفوفة الأصلية قابلاً للقسمة على أجزاء الحجم بالضبط ، فسيكون للمصفوفة الأخيرة بُعد أقل.
تقوم الدالة array_chunk () بإرجاع مصفوفة متعددة الأبعاد ، تبدأ مؤشراتها من 0 إلى عدد المصفوفات المتلقاة ، والقيم هي المصفوفات التي تم الحصول عليها نتيجة للانقسام.
تحدد المعلمة save_keys الاختيارية ما إذا كان سيتم الاحتفاظ بمفاتيح المصفوفة الأصلية أم لا. إذا كانت هذه المعلمة خاطئة (القيمة الافتراضية) ، فسيتم تحديد مؤشرات المصفوفات الناتجة كأرقام تبدأ من الصفر. إذا كانت المعلمة صحيحة ، فسيتم الاحتفاظ بمفاتيح المصفوفة الأصلية.
مثال على استخدام الدالة array_chunk ():
مصفوفة $ = مصفوفة ("العنصر الأول"،
"العنصر الثاني"،
"العنصر الثالث"،
"العنصر الرابع"،
"العنصر الخامس") ؛
print_r (array_chunk ($ array، 2)) ؛
print_r (array_chunk ($ array، 2، TRUE)) ؛
سينتج المثال التالي:
مجموعة مصفوفة (
=> صفيف
=> العنصر الأول
=> العنصر الثاني
)
=> صفيف
=> العنصر الثالث
=> العنصر الرابع
)
=> صفيف
=> العنصر الخامس
)
)
مجموعة مصفوفة (
=> صفيف
=> العنصر الأول
=> العنصر الثاني
)
=> صفيف
=> العنصر الثالث
=> العنصر الرابع
)
=> صفيف
=> العنصر الخامس
)
الوظيفة التي يدعمها PHP 4> = 4.2.0، PHP 5
صفيف_ملء
تملأ الدالة الصفيف بقيم محددة.
بناء الجملة:
صفيف array_fill (int start_index، int num، mix value)
ترجع الدالة array_fill () مصفوفة تحتوي على عدد القيم ذات الحجم المحدد في معامل القيمة ، بدءًا من العنصر المحدد في المعلمة start_index.
مثال باستخدام array_diff_uassoc ():
print_r ($ a) ؛
?>
سينتج المثال التالي:
مجموعة مصفوفة (
=> موز
=> موز
=> موز
=> موز
=> موز
=> موز
)
الوظيفة التي يدعمها PHP 4> = 4.2.0، PHP 5
مجموعة_فلتر
تقوم الوظيفة بتطبيق مرشح على مصفوفة باستخدام وظيفة مخصصة.
بناء الجملة:
Array array_filter (إدخال مصفوفة [، رد نداء])
تقوم الدالة array_filter () بإرجاع مصفوفة تحتوي على القيم الموجودة في مصفوفة الإدخال ، والتي يتم تصفيتها وفقًا لنتائج دالة رد الاتصال المخصصة.
إذا كانت مصفوفة الإدخال الأصلية عبارة عن مصفوفة ترابطية ، يتم تخزين المؤشرات في المصفوفة الناتجة.
مثال على استخدام الدالة array_filter ():
العودة ($ var٪ 2 == 1) ؛
}
دالة حتى (فار دولار) (
العودة ($ var٪ 2 == 0) ؛
}
$ array1 = array ("a" => 1، "b" => 2، "c" => 3، "d" => 4، "e" => 5)؛
$ array2 = صفيف (6، 7، 8، 9، 10، 11، 12) ؛
صدى "فردي: ن" ؛
print_r (array_filter ($ array1، "odd")) ؛
صدى "حتى: ن" ؛
t_r (array_filter ($ array2، "even")) ؛
?>
سينتج المثال التالي:
فردي: صفيف (
[أ] => 1
[ج] => 3
[هـ] => 5
حتى: صفيف (
=> 6
=> 8
=> 10
=> 12
)
تجدر الإشارة إلى أنه بدلاً من اسم وظيفة التصفية ، يمكنك تحديد مصفوفة تحتوي على مرجع للكائن واسم الطريقة.
تجدر الإشارة أيضًا إلى أنه عند معالجة مصفوفة باستخدام دالة array_filter () ، لا يمكن تغييرها: إضافة عناصر أو حذفها أو صفر المصفوفة ، حيث يمكن أن يؤدي ذلك إلى تشغيل الوظيفة بشكل غير صحيح.
الوظيفة التي يدعمها PHP 4> = 4.0.6، PHP 5