آموزش کامل PHP – قسمت دهم: توابع

در این قسمت از سری آموزش های php به آموزش توابع می پردازیم. توابع از مهمترین بخش های هر زبان برنامه نویسی می باشد.

تابع (function)

مفهوم تابع در اصل همانی است که در دروس ریاضی دبیرستان با آن آشنا شده ایم. یعنی ماشینی که ورودی را گرفته و عملیاتی روی آن انجام می دهد و سپس خروجی می دهد. در برنامه نویسی نیز دقیقا همین است.

در php دو نوع تابع داریم، یکی توابع پیش فرض که از قبل در برنامه وجود دارد و یکی توابعی که توسط کاربر نوشته می شوند. توابع پیش فرض در واقع همان دستوراتی هستند که در php وجود دارند مثلا echo که ورودی را از ما می گیرد و بدون تغییر چاپ می کند.

چند نکته

  • بر خلاف متغییرها نام توابع به حروف کوچک و بزرگ حساس نمی باشد. یعنی چه با حروف بزرگ و چه با حروف کوچک بنویسیم تاثیری در عملکرد آن ندارد.
  • نام تابع را می تواند با یک آندرلاین شروع شود.
  • تا زمانی که تابع فراخوانی نشود کد داخل آن اجرا نمی شود.

ساختار کلی توابع در php

<?php

function name() {

func code

}

کد بالا نمونه ساختار یک تابع است. اگر تابع ورودی داشته باشد آن را در پرانتز جلوی نام تابع قرار می دهیم. عملیات را در قسمت کد و بین آکولاد ها می نویسیم. توجه داشته باشید که نام تابع نباید از کلمات کلیدی پی اچ پی باشد.

پارامتر های تابع (ورودی تابع)

تابع می تواند یک یا چند ورودی داشته باشد یا اصلا ورودی نداشته باشد. ورودی را می توانیم به صورت پارامتری به تابع ارسال کنیم. برای این منظور برای هر ورودی یک متغیر در داخل پرانتز جلوی نام تابع تعریف می کنیم. به مثال زیر توجه کنید:

<?php

function myfunc($name , $age){

echo your name is $name and age is $age;

}

myfunc("mohammad" , "27");

?>

کار تابع فوق این است که نام و سنی را که برای آن ارسال کرده ایم را در خروجی نمایش دهد. عملیات تابع در زمان فراخوانی انجام می شود. یعنی خط پنجم.

آرگومان های ورودی پیش فرض

در مثال فوق اگر در هنگام فراخوانی تابع به تعداد پارامترها، ورودی نداشته باشیم برنامه با خطا مواجه می شود. برای جلوگیری از خطا می توانیم یک مقدار پیش فرض برای هر کدام از پارامترهای ورودی تابع در نظر بگیریم.

php?>

("function myfunc ($name = "mohammad

{ ;echo $name }

;()myfunc

<?

در کد فوق هنگام تعریف تابع یک مقدار پیش فرض برای پارامتر نام در نظر گرفته شده بنابراین با وجود این که در هنگام فراخوانی تابع ورودی داده نشده برنامه با خطا مواجه نمی شود.

مقادیر بازگشتی در تابع

برای استفاده از مقادیر بازگشتی در تابع از دستور return به صورت زیر استفاده می کنیم.

<?php

function zarb($a , $b) {

$c = $a * $b;

return $c;

}

$d = zarb(3 , 3);

echo $d;

?>

در کد فوق مقدار بازگشتی تابع ضرب را در متغیر d ریخته و آن را در خروجی نمایش داده ایم.