تابع در php

saalek110

Well-Known Member
یک تابع:
PHP:
function myMessage() {
  echo "Hello world!";
}

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

PHP:
function myMessage() {
  echo "Hello world!";
}

myMessage();

طرز صدا زدن تابع را در بالا می بینیم ، اسمش را می نویسیم ، با پرانتزهایش و سمی کلون ته خط می گذاریم.
 

saalek110

Well-Known Member
PHP:
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");

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

ورودی های تابع می تواند چند تا باشد. کد زیر:
PHP:
function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year <br>";
}

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

saalek110

Well-Known Member
PHP:
function setHeight($minheight = 50) {
  echo "The height is : $minheight <br>";
}

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

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

saalek110

Well-Known Member
PHP:
function add_five(&$value) {
  $value += 5;
}

$num = 2;
add_five($num);
echo $num;


گویا آدرس متغیر داده میشه.
در تابع هر اتفاقی بیافته ربطی به بیرون تابع نداره ، ولی ور روش بالا ، $num وقتی به تابع رفته ، بعد چاپ می بینیم ۷ شده،
در روش معمولی ، متغیری که به تابع ارسال میشه تغییری نمی کنه.
 

saalek110

Well-Known Member
PHP:
function sumMyNumbers(...$x) {
  $n = 0;
  $len = count($x);
  for($i = 0; $i < $len; $i++) {
    $n += $x[$i];
  }
  return $n;
}

$a = sumMyNumbers(5, 2, 6, 2, 7, 7);
echo $a;

تعداد متغیر ورودی.
تابع بالا هر چند تا عدد بدهیم ، با هم جمع می کند.



گویا میگه ورودی متغیر باید آخرین ورودی باشه:
PHP:
function myFamily($lastname, ...$firstname) {
  txt = "";
  $len = count($firstname);
  for($i = 0; $i < $len; $i++) {
    $txt = $txt."Hi, $firstname[$i] $lastname.<br>";
  }
  return $txt;
}

$a = myFamily("Doe", "Jane", "John", "Joey");
echo $a;


 

جدیدترین ارسال ها

بالا