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

مشاهدة النسخة كاملة : الدرس التاسع: الوظائف



المنصور بالله
29-05-2017, 05:02 PM
الدرس التاسع: الوظائف

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

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

الوظيفة تعالج مدخلات وتعطينا مخرجات، يمكنها أن تكون مفيدة إذا مثلاً لديك طيف واسع من البيانات التي تحتاج لمعالجة أو لديك حسابات أو إجراءات يجب أن تجريها مرات عديدة.

الوظيفة تكتب بهذا الشكل:

_________________________________________


Function ****(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 ****s of the days of the week
$arrDay = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");

// Array with the English ****s 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' كتبا على عدة أسطر، فعلنا ذلك لتظهر بشكل جيد لمن يملك شاشة صغيرة، طريقة كتابة البرنامج لا تؤثر على البرنامج.

الوظيفة أعلاه ستعمل في كل المزودات بغض النظر عن اللغة، هذا يعني أنك تستطيع استخدام هذه الوظيفة إن كان موقعك مستضافاً في مزود فرنسي لكنك تريد التواريخ بالإنجليزية.

في هذه المرحلة لن نتعمق أكثر في الوظائف، لكنك الآن تعلمت القليل حول كيفية عمل الوظائف.

ميمونة
31-05-2017, 12:23 AM
شكرا على المعلومات والافادة

منيرفا
02-06-2017, 02:02 PM
شكرا على الموضوع الشيق والمعلومات والافادة

نجوى كريم
03-06-2017, 11:56 AM
شكرا على الموضوع والافادات القيمة

جمارة
05-06-2017, 06:45 AM
شكرا على الموضوع والمعلومات المفيدة

شوقى غريب
10-06-2017, 10:21 PM
شكرا على المعلومات والافادة

جيهان
21-06-2017, 02:25 PM
شكرا على الموضوع والافادة والمعلومات القيمة

لمياء الدميرى
22-06-2017, 08:33 AM
شكرا على المعلومات والافادة

عهود المالكى
23-06-2017, 04:16 PM
شكرا على الموضوع والافادة والمعلومات القيمة

ماهيتاب السويدى
27-06-2017, 12:06 AM
شكرا على المعلومات والافادة

يمنة
20-07-2017, 05:50 PM
شكرا على المعلومات والافادة

بلبلة
23-08-2017, 05:29 PM
شكرا على الموضوع والافادة والمعلومات القيمة

tafouket
26-08-2017, 07:07 PM
شكرا على المعلومات والافادة

عيون المهى
07-12-2017, 07:26 PM
شكرا على الموضوع والمعلومات المفيدة

nada
18-12-2017, 09:55 AM
شكرا على الموضوع والافادات القيمة

ندى الصباح
19-12-2017, 06:58 AM
شكرا على المعلومات والافادة

يسرا المرشدى
25-12-2017, 03:03 PM
شكرا على الموضوع الشيق والمعلومات والافادة