میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

توابع در php

قدرت واقعی PHP در توابع آن است، در PHP بیش از ۱۰۰۰ تابع از قبل نوشته شده وجود دارد.

توابع داخلی PHP

PHP دارای بیش از ۱۰۰۰ عملکرد داخلی است که می توان مستقیماً از درون یک اسکریپت برای انجام یک کار خاص فراخوانی کرد.


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

علاوه بر توابع داخلی PHP ، امکان ایجاد توابع شخصی نیز وجود دارد.

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

یک عملکرد تعریف شده توسط کاربر در PHP ایجاد کنید

اعلان عملکرد تعریف شده توسط کاربر با کلمه شروع می شود function:

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

function functionName() {
  code to be executed;
}

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

نکته: به تابع نامی بدهید که عملکرد آن را منعکس کند!

در مثال زیر ، تابعی با نام “writeMsg ()” ایجاد می کنیم.

مثال

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

writeMsg(); // call the function
?>

با فراخوانی تابع مقدار  “Hello world!” چاپ خواهد شد .


ارسال پارامتر در توابع 

اطلاعات را می توان از طریق پارامتر به توابع منتقل کرد. یک پارامتر دقیقاً مانند یک متغیر است.

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

مثال زیر تابعی با یک آرگومان ($ fname) دارد. هنگامی که تابع familyName () فراخوانی می شود 

مثال

<?php
function familyName($fname) {
echo “$fname Refsnes.<br>”;
}

familyName(“Jani”);
familyName(“Hege”);
familyName(“Stale”);
familyName(“Kai Jim”);
familyName(“Borge”);
?>


PHP زبانی است که به آرامی تایپ می شود

در مثال بالا ، توجه داشته باشید که نیازی نبود که به PHP بگوییم متغیر کدام نوع داده است.

PHP بسته به مقدار آن نوع داده را به طور خودکار به متغیر مرتبط می کند. از آنجا که انواع داده ها به معنای دقیق تنظیم نشده اند ، می توانید کارهایی مانند افزودن یک رشته به یک عدد صحیح بدون ایجاد خطا انجام دهید.

در مثال زیر سعی می کنیم بدون استفاده از یک عدد ،  یک رشته را به تابع ارسال کنیم strict:

مثال

<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5“۵ days”);
// since strict is NOT enabled “5 days” is changed to int(5), and it will return 10
?>

برای مشخص کردن strictباید تنظیم کنیم declare(strict_types=1);. این باید در خط اول فایل PHP باشد.

در مثال زیر سعی می کنیم هم یک عدد و هم یک رشته به تابع ارسال کنیم ، اما در اینجا strict اعلان را اضافه کرده ایم :


مقدار پارامتر پیش فرض PHP

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

مثال

<?php
 declare(strict_types=1);             // strict requirement
function setHeight(int $minheight = ۵۰) {
echo “The height is : $minheight <br>”;
}

setHeight(350);
setHeight();                    // will use the default value of 50
setHeight(135);
setHeight(80);
?>


توابع PHP – مقادیر برگشتی

برای اینکه یک تابع مقداری را برگرداند ، از returnعبارت زیر استفاده کنید :

مثال

<?php 
declare(strict_types=1);              // strict requirement
function sum(int $x, int $y) {
$z = $x + $y;
return $z;
}

echo “۵ + ۱۰ = “ . sum(5۱۰) . “<br>”;
echo “۷ + ۱۳ = “ . sum(7۱۳) . “<br>”;
echo “۲ + ۴ = “ . sum(2۴);
?>


اعلام نوع بازگشت PHP

PHP 7 همچنین از Type Declations برای return عبارت پشتیبانی می کند.

برای اعلام یک نوع برای بازگرداندن تابع ، هنگام اعلام عملکرد ، یک نقطه ( :) و نوع را درست قبل از {براکت باز ( ) قرار دهید.

در مثال زیر نوع بازگشتی را برای عملکرد مشخص می کنیم:

مثال

<?php 
declare(strict_types=1);            // strict requirement
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2۵٫۲);
?>

می توانید نوع بازگشتی متفاوت از انواع آرگومان تعیین کنید ، اما مطمئن شوید که بازگشتی نوع صحیح باشد:

مثال

<?php
 declare(strict_types=1);                       // strict requirement
function addNumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2۵٫۲);
?>

بروز رسانی متغیر اصلی توسط پارامتر 

در PHP ، پارامتر ها معمولاً با مقدار منتقل می شوند ، به این معنی که یک کپی از مقدار در تابع استفاده می شود و متغیری که به تابع منتقل شده است قابل تغییر نیست.

هنگامی که یک پارامتر توسط مرجع منتقل می شود ، تغییر در پارامتر ، متغیر را نیز تغییر می دهد. برای تبدیل پارامتر تابع به متغیر اصلی ، از & استفاده می شود:

مثال

برای به روزرسانی متغیر از آرگومان & استفاده کنید:

<?php
function add_five(&$value) {
$value += ۵;
}

$num = ۲;
add_five($num);
echo $num;
?>


 

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟