اخر المقالات

اضف اداة

الاثنين، 9 أبريل 2012

الدرس التاسع: الوظائف

في الدروس السابقة تعلمنا أن وظائف مثل توثيقdate() وتوثيقarray()، في هذا الدرس سنتعلم إنشاء وظائف بأنفسنا باستخدام أمر توثيقfunction.

ما هي الوظيفة؟

الوظيفة تعالج مدخلات وتعطينا مخرجات، يمكنها أن تكون مفيدة إذا مثلاً لديك طيف واسع من البيانات التي تحتاج لمعالجة أو لديك حسابات أو إجراءات يجب أن تجريها مرات عديدة.
الوظيفة تكتب بهذا الشكل:
Function Name(list of parameters) {
    Statement
 }
 
 
بهذه الطريقة يمكننا إنشاء وظيفة بسيطة تضيف القيمة 1 إلى أي رقم، ستكون بهذا الشكل:
function AddOne($x) {
    $x = $x + 1;
    echo $x;
 }

 
 
الوظيفة سميناها AddOne وهي تطلب مع رقم وفي المثال وضعنا الرقم 34:
echo AddOne(34);
 
 
وستعطينا الوظيفة القيمة 35.
المثال أعلاه يعالج رقماً لكن الوظيفة يمكنها معالجة النصوص والتواريخ وأي شيء آخر، يمكنك أيضاً إنشاء وظائف تتطلب العديد من المدخلات، في هذا الدرس سترى أمثلة مختلفة للوظائف.

المثال 1: وظيفة بمزيد من المدخلات

كما ذكرنا في السابق يمكنك بسهولة إنشاء وظيفة تحتاج للعديد من المدخلات، في المثال التالي سننشأ وظيفة تتطلب 3 مدخلات وهي ثلاث أرقام وستعطينا قيمة جمع الأرقام الثلاثة:
<html>
 <head>
 <title>Functions</title>

 </head>
 <body>

 <?php

 function AddAll($number1,$number2,$number3) {
    $plus = $number1 + $number2 + $number3;
    return $plus;
 }
  
 echo "123 + 654 + 9 equals " . AddAll(123,654,9);

 ?>

 </body>
 </html>
 
 
حسناً، هذا كان بسيطاً جداً، لكن النقطة هنا هي توضيح أن الوظيفة يمكنها أن تقبل المزيد من المدخلات.

مثال 2: الوقت والتاريخ بالإنجليزية

لنجرب إنشاء وظيفة معقدة أكثر، وظيفة تتطلب إدخال التاريخ فتحوله لنا إلى هذا الشكل: Wednesday, 15 February, 2012, 10:00:00 AM
<html>
 <head>
 <title>Functions</title>
 </head>
 <body>

 <?php

 function EnglishDateTime($date) {
  
   // Array with the English names of the days of the week
   $arrDay = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
  
   // Array with the English names of the months
   $arrMonth = array("","January","February","March","April","May","June","July","August","September","October","November","December");
  
   // The date is constructed
   $EnglishDateTime = $arrDay[(date("w",$date))] . ", " . date("d",$date);
   $EnglishDateTime = $EnglishDateTime  . " " . $arrMonth[date("m",$date)] . " " . date(Y,$date);
   $EnglishDateTime = $EnglishDateTime  . ", " . date("H",$date) . ":" . date("i",$date);
  
   return $EnglishDateTime;

 }
  
 // Test function
 echo EnglishDateTime(time());

 ?>

 </body>
 </html>
 
 
لاحظ كيف أن '$arrMonth' و'$EnglishDateTime' كتبا على عدة أسطر، فعلنا ذلك لتظهر بشكل جيد لمن يملك شاشة صغيرة، طريقة كتابة البرنامج لا تؤثر على البرنامج.
الوظيفة أعلاه ستعمل في كل المزودات بغض النظر عن اللغة، هذا يعني أنك تستطيع استخدام هذه الوظيفة إن كان موقعك مستضافاً في مزود فرنسي لكنك تريد التواريخ بالإنجليزية.
في هذه المرحلة لن نتعمق أكثر في الوظائف، لكنك الآن تعلمت القليل حول كيفية عمل الوظائف.

0 التعليقات

إرسال تعليق

السلام عليكم ورحمة الله وبركاته ترحب مدونة lerentable بزوارها الكرام وتفسح المجال لتعليقاتهم بالنشر طالما هي تلتزم بالسلوكيات الصحيحة للإعلام الملتزم، ولا تخرج لحدود المساس القانوني بالاشخاص والجهات، وهي إذ تضمن النشر تشير إلى أن ما ينشر لا يعبر عن موقفها ورأيها بالضرورة
فلابد أن لديك ما تود كتابته.أرجوا منك أن تترك رأيك، انطباعك، استيائك، إعجابك، اقتراحك.ولا تهتم، قل ما يجول في عقلك حيال مدونتي والمواد المنشورة فيها ويسرني تقبل رأيك بصدر

قوالب بلوجر معربة واحترافية مجانية