توابع (Functions)
ایجاد بلوکهای کد قابل استفاده مجدد با توابع — پارامتر، مقدار برگشتی، آرگومان پیشفرض و توابع پیکانی
تابع چیست؟
تابع (Function) بلوکی از کد است که یک کار مشخص انجام میدهد و میتوانید آن را بارها فراخوانی کنید. توابع به کد شما ساختار و قابلیت استفاده مجدد میدهند.
تعریف تابع ساده
<?php
function sayHello() {
echo "سلام دنیا!";
}
// فراخوانی تابع
sayHello();
sayHello();
?>
تابع با پارامتر
پارامتر ورودیهایی هستند که به تابع میدهید:
<?php
function greet($name) {
echo "سلام $name!";
}
greet("علی"); // سلام علی!
greet("مریم"); // سلام مریم!
?>
چند پارامتر
<?php
function add($a, $b) {
echo $a + $b;
}
add(5, 3); // 8
?>
مقدار برگشتی — return
تابع میتواند با return مقدار برگرداند:
<?php
function multiply($a, $b) {
return $a * $b;
}
$result = multiply(4, 5);
echo $result; // 20
?>
بعد از
return، تابع متوقف میشود و کدهای بعدی اجرا نمیشوند.پارامتر پیشفرض
میتوانید برای پارامترها مقدار پیشفرض تعیین کنید:
<?php
function greet($name = "مهمان") {
echo "سلام $name!";
}
greet(); // سلام مهمان!
greet("علی"); // سلام علی!
?>
پارامترهای پیشفرض باید آخر بیایند. نمیتوانید قبل از آنها پارامتر بدون پیشفرض بگذارید.
تعیین نوع پارامتر (Type Hinting)
<?php
function add(int $a, int $b): int {
return $a + $b;
}
echo add(5, 3); // 8
?>
انواع قابل تعیین
| نوع | توضیح |
|---|---|
int | عدد صحیح |
float | عدد اعشاری |
string | رشته |
bool | بولین |
array | آرایه |
?int | عدد یا null |
توابع پیکانی (Arrow Functions) — PHP 7.4+
برای توابع کوتاه و ساده:
<?php
$multiply = fn($a, $b) => $a * $b;
echo $multiply(4, 5); // 20
?>
مثال کاربردی
<?php
function calculateBMI($weight, $height) {
$bmi = $weight / ($height * $height);
if ($bmi < 18.5) {
return "کموزن";
} elseif ($bmi < 25) {
return "نرمال";
} elseif ($bmi < 30) {
return "اضافهوزن";
} else {
return "چاق";
}
}
echo calculateBMI(70, 1.75); // نرمال
?>
این مبحث بخشی از دوره آموزش کامل PHP است.