چهارشنبه 21 آذر 1403

فصل پنجم : آشنائی با زبان برنامه نویسی PHP : توابع بخش اول : آموزش PHP

1- توابع : Functions تابع چیست ؟ به مجموعه دستوراتی که جهت انجام یک کار خاص به صورت یک مجموعه درآورده شده‌اند تابع می‌گویند. توابع به 2 صورت استفاده می شوند

  1. توابعی که کاربر تعریف می کند
  2. توابع تعریف شده در سیستم
      1. توابع کار با آرایه
      2. توابع فراخوانی فایل
      3. توابع ریاضی

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

ساختار تابع
	  
function YourFunc([$arg1][,[$arg][,...]]]){
    ........................
}
    $X = YourFunc([$arg1][,[$arg][,...]]]);

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

نکته : روش های تعریف تابع دلخواه

  1. با پارامتر پیش فرض مقداردهی شده
  2. با پارامتر پیش فرض
  3. بدون پارامتر

مثال 1 : تعداد ثانیه های مقدار ساعت وارد شده را محاسبه نمایید.

حل مسئله
	  
<?
    function CalSec( $hour ){
    $k = $hour*3600;
    return $k;
    }
    $m = CalSec(5);
    echo "<P>".$m."</P>";
?>

نتیجه 18000

مثال 2 : اگر یک میوه فروش میوه‌ای خود را با قیمتهای زیر و با تخفیف مورد نظر بفروشد و شما قصد خرید 5 کیلو پرتقال و 2 کیلو سیب و 3 کیلو لیمو را داشته باشید  چه مبلغی را باید پرداخت نمایید .

تخفیف بالاتر از 3 کیلو

تخفیف تا 3 کیلو

قیمت هر کیلو

میوه

9%

5%

8000 ریال

پرتقال

8%

6%

5000 ریال

سیب

6%

4%

4000 ریال

لیمو

 حل مسئله

	  
<?
    function Cal( $killo    , $percent , $Price ){
    $k = ($Price -    ($Price * $percent)/100)*$killo;
    return $k;
    }
    $m =    Cal(5,0,8000)+Cal(2,0,5000)+Cal(3,0,4000);
    $n = Cal(5,9,8000)+Cal(2,6,5000)+Cal(3,4,4000);
    echo $m."</P>";
    echo "<P>".$n."</P>";
    echo "<P>".($m - $n)."</P>";
?>

توضیح

ابتدا تابعی را برای محاسبه قیمتها می نویسیم. در این تابع مقدار وزن کالای خریداری شده  ، درصد تخفیف کالای مورد نظر و قیمت کالای موردنظر را وارد نموده و سپس طبق فرمول محاسبه قیمت را انجام میدهیم. و در پایان مقدار برگشتی به تابع را مشخص می نماییم .سپس برای آنکه مقدار تخفیف مشخص شود ابتدا قیمت کالاهای خریداری شده را نمایش می دهیم یعنی بدون تخفیف و سپس قیمت کالاها را با تخفیف محاسبه نموده ( قیمتی که باید پرداخت ) و مقدار تخفیف کل را با کسر آن دو از یکدیگر محاسبه می نماییم. هر قسمت با رنگ مورد نظر علامتگذاری شده است .

نتیجه :

	  
62000 
57320 
4680

مثال 3 : تابعی بنویسید که دو عدد را گرفته و تا زمانی که ما مشخص نکرده ایم آنها را با هم جمع نماید.

حل مسئله
	  
	function Calc( $a , $b , $c    ='+' )
      {
      switch($c)
      {
      case '+': 
      $k = $a + $b; 
      break;
      case '-': 
      $k = $a - $b; 
      break;
      case '/': 
      $k = $a / $b; 
      break;
      case '%': 
      $k = $a % $b; 
      break;
      case 'pow': 
      $k = pow($a , $b); 
      break;
      }
      return $k;
      }
      $m = Calc(5,2);
      echo " 5 + 2 = ".$m."</P>";
      $m = Calc(5,2,'pow');
      echo " 5 ^ 2 = ".$m."</P>";
      $m = Calc(5,2,'%');
      echo " 5 % 2 = ".$m."</P>";
      $m = Calc(5,2,'-');
      echo " 5 - 2 = ".$m."</P>";
      $m = Calc(5,2,'/');
      echo " 5 / 2 = ".$m."</P>";
      ?>
	  
	  

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

نتیجه

	  
      5 + 2 = 7
      5 ^ 2 = 25
      5 % 2 = 1
      5 - 2 = 3
      5 / 2 = 2.5
      

کامپوننت ساز جوملا

کامپوننت ساز جوملا

محسن بزرگی وکیل پایه یک دادگستری

محسن بزرگی وکیل پایه یک دادگستری

عضویت در زرین پال

عضویت در زرین پال

عمومی

علیرضا بلوردی (برنامه نویس PHP)
سیرجان, کرمان
علیرضا بلوردی
ولی عصر, سیرجان, کرمان 7817645939
+989131789658
نمونه کارها و کامپوننتهای نوشته شده توسط علیرضا بلوردی برنامه نویس جوملا و PHP