วันเสาร์ที่ 22 พฤศจิกายน พ.ศ. 2557

Function PH



Function ในภาษา PHP มาอยู่ 4 ชนิดคือ

1.ฟังก์ชั่นภายใน (invoking a function)

2.ฟังก์ชั่นที่สร้างขึ้นมาเอง (creating a function)


3.ฟังก์ชั่นซ้อนฟังก์ชั่น (nesting function)


4.ฟังก์ชั่นเรียกตัวเอง (recursive function)





1. ฟังก์ชั่นภายใน


         เป็นฟังก์ชั่นพื้นฐานที่มากับ php มีราวๆ พันกว่าฟังก์ชั่น  ซึ่งจะครอบคลุมการทำงานพื้นฐา่นทั้งหมดของการเขียนโปรแกรม PHP จนบางครั้ง เราสามารถเขียนโปรแกรมที่ทำงานได้จริงโดยไม่จำเป็นต้องเขียนฟังก์ชั่นเพิ่มเติมเลยแม้แต่ฟังก์ชั่นเดียว เหมือนที่ผมเคยได้ยินมาว่า

      ตัวอย่างฟังก์ชั่นภายใน ผมขอยกตัวอย่างฟังก์ชั่น pow() ถ้าหากเปิดดู help จะเขียนเป็นลักษณะนี้

number pow ( number $base, number $exp )

number คือ ค่าที่ฟังก์ชั่นนี้ส่งกลับออกมา (return) ซึ่งเดี๋ยวเราค่อยมาอธิบายกัน
pow คือ ชื่อฟังก์ชั่น
(number $base, number $exp) คือ ค่าที่ต้องส่งให้ฟังก์ชั่นนี้ โดย 
number หมายถึงชนิดของค่า (datatype) ที่ต้องส่งไปให้

พราะฉะนั้น ฟังก์ชั่น pow() เราต้องส่งค่าให้จำนวน 2 ค่า เมื่อฟังก์ขั่นทำงานเสร็จแล้วจะคืนค่ากลับมาเป็นชนิดตัวเลข

ตัวอย่าง
1  <?php
2  echo pow(5,2);  // พิมพ์ค่า 5 ยกกำลัง 2 ออกทางหน้าจอเลย
3  echo "<br />";
4  echo "ผลลัพท์ของ 5 ยกกำลัง 2 คือ " . pow(5,2);
5  ?>



2.ฟังก์ชั่นที่สร้างขึ้นมาเอง

       เป็นฟังก์ชั่นที่สร้างขึ้นมาเอง เพื่อให้ทำงานนอกเหนือจากฟังชั่นที่มีอยู่ใน PHP หรือเราต้องการให้โปรแกรมทำงานตรงกับความต้องการของเรา

ตัวอย่าง

1<?php
2   function cmdevhub() {
3        echo "welcome to cmdevhub";
4    }
5
6    // เราสามารถเรียกฟังก์ชั่นได้โดยเรียกจากชื่อฟังก์ชั่น
7
8    cmdevhub(); // พิมพ์ welcome to cmdevhub

9  ?>
    
    


 3.ฟังก์ชั่นซ้อนฟังก์ชั้น (Nesting Function)

ตัวอย่าง

1 <?php
2    function cal_tax ($price, $tax) {
3       function cal_vat ($total) {
4            return $total * 0.07;
5       }
6        $price += $price * $tax;
7       echo "จำนวนเงินทั้งหมดหลังรวมภาษี " . $price . " หลังรวมภาษีมูลค่าเพิ่ม " . ($price + cal_vat($price));
8   }
9   cal_tax(1500, 0.1); // ผลลัพธ์ 1650 , 1765.5
10   echo "<br />";
11    echo cal_vat(100);  // ผลลัพธ์ 7

12   ?>



4.ฟังก์ชั่นเรียกตัวเอง (Recursive Function)

      ฟังก์ชั่นเรียกตัวเอง ใช้สำหรับทำงานซ้ำๆ กันโดยที่เราไม่รู้จำนวนรอบในการทำงาน โดยจะมีจุดสิ้นสุดการทำงานอยู่ในฟังก์ชั่นเองอยู่แล้ว เพื่อให้ฟังก์ชั่นหยุดการทำงาน การเขียนฟังก์ชั่นแบบเรียกตัวเอง จะลดระยะเวลาในการเขียนโปรแกรมไปได้อย่างมาก แต่ปัญหาคือการออกแบบและเขียนได้ยากมาก ทำให้ไม่ค่อยได้เห็นคนเขียนฟังก์ชั่นแบบนี้กันเท่าไหร่

ตัวอย่าง

1<?php
2    function fibo($num) {
3       if ($num == 1 || $num == 2) {
4           return 1;
5      }
6       else {
7           return fibo($num - 1) + fibo($num - 2);
8      }
9   }
10
11  echo fibo(20);
12 ?>











ไม่มีความคิดเห็น:

แสดงความคิดเห็น