الوظائف عبارة عن كتل تعليمات برمجية بسيطة يمكننا الاتصال بها من أي مكان. على سبيل المثال ، يمكننا إنشاء دالة تجمع قائمة من الأرقام وتعيد النتيجة. دعونا نسمي هذه الوظيفة sum.
هناك نوعان من الوظائف – وظائف المكتبة ووظائف المستخدم. وظائف المكتبة ، مثل array_push هي جزء من مكتبة PHP ويمكن لأي شخص استخدامها. ومع ذلك ، يمكنك كتابة وظائفك الخاصة واستخدامها عبر التعليمات البرمجية الخاصة بك.
تستلم دالة قائمة من الوسيطات مفصولة بفواصل. كل حجة موجودة فقط في سياق الوظيفة ، مما يعني أنها تصبح متغيرات داخل كتلة الوظيفة ، ولكن لا يتم تعريفها خارج كتلة الوظيفة.
// يعرّف دالة تسمى `sum` التي ستكون // تلقي قائمة بالأرقام كوسيطة. function sum($numbers) { // تهيئة المتغير الذي سنعود إليه $sum = 0; // لخص الأرقام foreach ($numbers as $number) { $sum += $number; } // إرجاع المجموع إلى المستخدم return $sum; } // مثال على استخدام المجموع echo sum([1,2,3,4,5,6,7,8,9,10]);
بعد تحديد الوظائف ، يمكنك تحميل ملفات PHP أخرى في بعضها البعض ، لذلك يمكنك تحديد جميع وظائفك في ملف واحد ، وتحميلها لملف آخر. لنفترض أننا حددنا دالة sum داخل ملف يسمى sum.php . يمكننا الآن إنشاء ملف آخر ، على سبيل المثال index.php واستخدام الدالة sum من خلال تضمين sum.php على النحو التالي:
include("sum.php"); // مثال على استخدام المجموع echo sum([1,2,3,4,5,6,7,8,9,10]);
(لن يتم تشغيل هذا الرمز لأنه لا توجد وحدات محددة في بيئة PHP).
تمرين
أنشئ دالة squared_sum التي ترجع مجموع كل عدد صحيح في المصفوفة ، مربعة.
<?php // اكتب الوظيفة squared_sum هنا echo squared_sum([56, 65, 26, 86, 66, 34, 78, 74, 67, 18, 34, 73, 45, 67, 75, 10, 60, 80, 74, 16, 86, 34, 12, 23, 42, 72, 36, 3, 73, 9, 92, 81, 94, 54, 97, 74, 45, 55, 70, 94, 96, 81, 86, 86, 84, 4, 32, 8, 96, 86, 87, 18, 84, 87, 59, 48, 32, 90, 17, 22, 82, 79, 66, 28, 17, 14, 80, 83, 66, 36, 21, 89, 68, 2, 51, 65, 20, 87, 48, 5, 1, 16, 60, 53, 84, 90, 16, 2, 37, 73, 57, 70, 57, 69, 68, 1, 24, 40, 72, 97]); ?>
الحل
<?php // اكتب الوظيفة squared_sum هنا function squared_sum($numbers) { // تهيئة المتغير الذي سنعود إليه $sum = 0; // لخص الأرقام foreach ($numbers as $number) { $sum += $number * $number; } // إرجاع المجموع إلى المستخدم return $sum; } echo squared_sum([56, 65, 26, 86, 66, 34, 78, 74, 67, 18, 34, 73, 45, 67, 75, 10, 60, 80, 74, 16, 86, 34, 12, 23, 42, 72, 36, 3, 73, 9, 92, 81, 94, 54, 97, 74, 45, 55, 70, 94, 96, 81, 86, 86, 84, 4, 32, 8, 96, 86, 87, 18, 84, 87, 59, 48, 32, 90, 17, 22, 82, 79, 66, 28, 17, 14, 80, 83, 66, 36, 21, 89, 68, 2, 51, 65, 20, 87, 48, 5, 1, 16, 60, 53, 84, 90, 16, 2, 37, 73, 57, 70, 57, 69, 68, 1, 24, 40, 72, 97]); ?>
سنحصل على النتيجة التالية عند التشغيل
382629