توابع تعریف شده توسط کاربر در PHP

توابع تعریف شده توسط کاربر در php
توابع تعریف شده توسط کاربر در php

آموزش طراحی سایت با PHP – توابع تعریف شده توسط کاربر

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

 

نحوه تعریف تابع

ساختار تعریف تابع به صورت زیر است.

function functionName() {
    code to be executed;
}

تعریف تابع با کلمه ی function شروع می شود و سپس نام دلخواه را به جای functionName  و در داخل کروشه ها دستورات مورد نظر  خود را بنویسید.

برای درک عمیق تر به مثال زیر توجه کنید.

 <?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg();  // فراخوانی تابع
?>
خروجی تابع writeMsg
خروجی تابع writeMsg

خروجی قطعه کد :

در مثال بالا ابتدا یک تابع با نام writemsg  ایجاد کرده‌ایم . این تابع بدون آرگومان (ورودی) می‌باشد . سپس در بدنه ی تابع چاپ رشته ی Hello world! را درخواست کردیم.

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

 

نحوه تعریف توابع با آرگومان

یک تابع می تواند یک و یا چندین آرگومان را به عنوان ورودی دریافت کند .

ساختار تعریف این دسته ازتوابع به صورت زیر است .

function functionName($arg1, $arg2 ) {
    code to be executed;
}

در مثال زیر تابعی با دو آرگومان داریم .

<?php
function familyName($fname, $year) {
    echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

در این جا تابعی با نام familyName  به همراه دو آرگومان $fname و $year تعریف کرده ایم  و در بدنه ی آن دستورات مربوط به چاپ رشته ای حاوی دو آرگومان را نوشته ایم . در ادامه با هر بار فراخوانی، دو ورودی را به آن پاس می دهیم . خروجی آن به شکل زیر خواهد بود .

خروجی تابع familyName
خروجی تابع familyName

 

 

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

<?php
function setHeight($minheight = 50) {
    echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // استفاده از مقدار پیش فرض 50
setHeight(135);
setHeight(80);
?>

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

خروجی مثال مذکور:

خروجی تابع setHeight
خروجی تابع setHeight

 

در مواقعی که بخواهیم تابع به ما مقداری را برگرداند باید از دستور return استفاده کنیم. به عنوان نمونه می‌خواهیم دو ورودی به تابع پاس بدهیم و مجموع آن ها را برگرداند .

<?php
function sum($x, $y) {
    $z = $x + $y;
    return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

خروجی آن به صورت زیر است :

خروجی تابع sum
خروجی تابع sum

 

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

فیلم آموزشی asp.net core 2

نسرين ولی خانی
کارشناسي نرم افزار علاقمند به برنامه نويسی

فیلم آموزشی asp.net core 2

1 نظر

یک پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

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

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=