មេរៀនទី៤: អនុគមន៍ Function

មេរៀនទី៤: អនុគមន៍ Function

1.What is Functions ? Function គឺជាបន្ដុំនៃ block code ដែលអ្នកបង្កើត ហើយអនុញ្ញាតិ អោយអ្នកហៅ យកមកប្រើ នៅក្នុង script របស់អ្នក ។ នៅពេលដែលអ្នកហៅ function កូដ ដែលនៅ ខាង ក្នុងនឹងត្រូវអនុវត្ដន៍ ហើយអ្នកក៏អាច បញ្ជូនតំលៃទៅអោយ function ឬ ទទួលតំលៃពី function មកវិញ ។

1.1 Calling Functions .Function មានពីរប្រភេទគឺ Function ដែលមានស្រាប់ ភ្ជាប់មក ជាមួយនឹងភាសាកមវិធី និងFunction ដែលអ្នកបង្កើតឡើងដោយខ្លួនឯង ។ នៅក្នុងភាសា PHP មាន built-in function ជាច្រើនដែលផ្ដល់នូវភាពងាយស្រួលសំរាប់ការសរសេរកូដរបស់អ្នក ។

1.2 Defining a Function .អ្នកអាចបង្កើត function ដោយប្រើ function statement function function_name( $argument1, $argument2 )

{

//

}

ប្រសិនបើ function របស់អ្នកតំរូវអោយមាន argument ចាប់ពីពីរឡើងទៅ អ្នកត្រូវតែចែកវា ដោយប្រើប្រាស់សញ្ញា comma( , ) ដែលជាទូទៅ argument ទាំងនោះគឺជា variable ហើយតំលៃ របស់វានឹងត្រូវផ្ដល់អោយនៅពេលដែល function

ត្រូវបានហៅ ។

ឧទាហរណ៍ ១៦

Declaring a Function

<html>

<head>

<title>Declaring a Function</title>

</head>

<body>

<?php

function bigsum()

{

$sum=0;

for ($i=1; $i<=10; $i++ )

{

$sum+=$i; .

$str= $str.”$i+”;

}

echo substr($str,0,-1).”=$sum”;

}

bigsum();

?>

</body>

 

</html>

លទ្ធផលដែលបង្ហាញនៅលើ browser គឺជា string នៃតួរអក្សរ 1+2+3+…………+10 = 55ឧទាហរណ៍ខាងលើនេះគឺ ជាការបង្កើតនូវ function មួយឈេμាះថា bigsum()ដែលជា function មិនមាននូវ Arguments នោះទេ ។សំរាប់ឧទាហរណ៍ទី ២០ យើងនឹងបង្កើត function ដែលប្រើ ប្រាស់ argument ។

ឧទាហរណ៍ ២០

01: <html>

02: <head>

03: <title>Declaring a Function</title>

04: </head>

05: <body>

06

07: <?php

08:

09: function bigsum($count)

10: {

11: $sum=0;

12: for($i=1; $i<=$count; $i++ )

13: {

14: $sum+=$i;

15: $str= $str.”$i+”;

16: }

17: echo substr($str,0,-1).”=$sum”;

18: }

19:

20: bigsum(10);

21:

22: ?>

23:

24: </body>

25: </html>

1.2.1 Returning Values from User-Defined Functions នៅឧទាហរណ៍ខាងលើយើងទទួលបាននូវលទ្ធផលជា string នៅលើ browser ដោយការប្រើប្រាស់ bigsum() function ។ function របស់អ្ន្នកអាចធ្វើការផ្លាស់ប្ដូរតំលៃដែលអ្នកបានផ្ដល់អោយឬ មាន ពេលខ្លះអ្នកនឹងចង់អោយ function ផ្ដល់នូវតំលៃថីអោយអ្នក បន្ទាប់ពីអ្នកបានផ្ដល់តំលៃទៅឱៀវា។

Function មួយអាចទទួលបានតំលៃដោយការប្រើប្រាស់ នូវ returnstatement ជាមួយនឹងតំលៃដែលត្រូវបញ្ចូនត្រលប់

ទៅកាន់ function។ return បញ្ឈប់ប្រតិបត្ដិការរបស់ function ហើយ បញ្ជូនតំលៃត្រលប់ ទៅវិញនៅពេលដែល function

ត្រូវបានហៅមកប្រើ ។ខាងក្រោមគឺជាឧទាហរណ៍នៃការបង្កើត function ដែល return តំលៃពី ផលបូលចំនួនពីរតំលៃ ។

ឧទាហរណ៍ ២១

01: <html>

02: <head>

03: <title>A Function That Returns a Value</title>

04: </head>

05: <body>

06:

07: <?php

08

09: function addNums($num1,$num2)

10: {

11: $result = $num1 + $num2;

12: return $result;

13: }

14: print addNums(3,5);

15:

16: ?>

17: </body>

18: </html>

addNums() Function ត្រូវបានហៅយកមកប្រើប្រាស់ជាមួយនឹង argument ចំនួនពីរដែលជាតំលៃលេខ 3 និង លេខ 5

ដែលតំលៃទាំងនេះត្រូវបានរក្សាទុកនៅក្នុង variable $num1 និង $num2addNums function ធ្វើការគណនានូវផលបូកនៃត

ំលៃដែលរក្សាទុកនៅក្នុង variable ទាំងពីរហើយផ្ដល់ជាលទ្ធផលទៅអោយ variable $result ។អ្នកក៏អាច return តំលៃដោយការហៅ function ដទៃទៀតបានផងដែរ return ( another_function( $an_argument ) );

2. Variable Scope Variable ដែលប្រកាសនៅខាងក្នុង function គឺអាចប្រើប្រាស់បាន តែនៅ ខាងក្នុង function នោះប៉ុណ្ណោះ មានន័យថាមិនអាចប្រើប្រាស់ បាននៅខាងក្រៅ function ឬ នៅក្នុង function ដទៃទៀត ។

សំរាប់ project ធំៗវាអាចជួយអ្នកពីគ្រោះថា្នក់នៃការកែប្រែតំលៃដែលមាននៅក្នុង variableពេលដែលអ្នកប្រកាស

variable ពីរ ហើយមានឈោះដូចគ្នា និង ឋិតនៅក្នុង function ផ្សេងៗគ្នា ។

ខាងក្រោមគឺជាឧទហរណ៍ ស្ដីពីការបង្កើត variable មួយនៅក្នុង function ហើយព្យាយាមយកVariable នោះមកបង្ហាញលើ browser ពី ក្រៅ function ។

ចំណាំ ៖ Variableដែលបង្កើតនៅខាងក្នុង function មិនអាចប្រើប្រាស់ពីខាងក្រៅ function បាននោះទេ។

ឧទាហរណ៍ ២២ៈ

01: <html>

02: <head>

03: <title>Local Variable Unavailable Outside a Function</title>

04: </head>

05: <body>

06: <div>

07:

08: <?php

10:

11: function test()

12: {

13: $testvariable = “this is a test variable”;

14: }

15: print “test variable: $testvariable<br/>”;

16:

17: ?>

18: </div>

19 </body>

20: </html>

អ្នកនឹងបានឃើញនូវលទ្ធផលនៃឧទាហរណ៍ខាងលើ ដែលតំលៃរបស់ variable $testvariable មិនត្រូវបានបង្ហាញនោះទេ ពីព្រោះពុំមាន variable ណាមួយត្រូវបានបានបង្កើតនៅខាងក្រៅ functiontest() នោះទេ ។ គួរចំណាំថា ការយក variable

ដែលមិនមាន មកប្រើប្រាស់គឺមិនមានភាព error ឡើយ។ម្យ៉ាងវិញទៀត variable ដែលប្រកាសនៅខាងក្រៅ function

គឺមិនអាចយកមកប្រើក្នុង function ដោយស្វ័យប្រវត្ដិនោះទេ ។

2.1 Accessing Variables with the global Statement .

មានពេលខ្លះអ្នកប្រហែលជាត្រូវការប្រើប្រាស់ variable នៅក្នុង function របស់អ្នកដោយពុំតំរូវ អោយមានការបញ្ជូនតំលៃតាម argument នោះទេ ។ ខាងក្រោមគឺជាឧទាហរណ៍ដែលប្រើប្រាស់នូវ

global statement ដើម្បីប្រើប្រាស់នូវ variable ដែលប្រកាសខាងក្រៅ function ។

ឧទាហរណ៍ ២៣ៈ

01: <html>

02: <head>

03: <title>The global Statement</title>

04: </head>

05: <body>

06:

07: <?php

08:

09: $lottery=42;

10

11: function lotteryToday()

12: {

13: global $lottery;

14: print “Lottery today is $lottery<br />”;

15: }

16:

17: lotteryToday();

18: ?>

19: </body>

20: </html>

នៅបន្ទាត់ទី ១៣ នៃឧទាហរណ៍ទី២៣ យើងបានប្រើប្រាស់នូវ global ពីមុខ variable $lottery ដែលបានប្រកាសនៅក្នុង function lotteryToday() ដើម្បីសំដៅទៅកាន់ global variable $lottery ដែលបានប្រកាសនៅខាងក្រៅ function នៅបន្ទាត់ទី ០៩ ។

អ្នកត្រូវតែប្រើប្រាស់នូវ global statement នៅរាល់ function ដែលអ្នកចង់ប្រើប្រាស់នូវ global variable។ អ្នកគួរប្រុងប្រយ័ត្នផងដែរនៅពេលដែលអ្នកផ្ដល់តំលៃទៅអោយ variable $lottoery នៅក្នុង function ពីព្រោះ $lottery នឹងធ្វើការផ្លាស់ប្ដូរតំលៃរបស់ខ្លួនទាំងអស់នៅក្នុង script របស់អ្នក ។អ្នកក៏អាចប្រកាស variable ជាមួយ global statement បានច្រើនក្នុងពេលតែមួយ បានផងដែរ ដោយការចែកនូវ variable និមួយៗដោយសញ្ញា (,) comma។

ឧទាហរណ៍ ៖ global $var1, $var2, $var3;