วันพุธที่ 17 ธันวาคม พ.ศ. 2557

ฟังก์ชั่น PHP

ฟังก์ชัน (Functions) คือ กลุ่มหรือชุดของคำสั่งที่สร้างขึ้นเพื่อทำหน้าที่หนึ่งๆ เมื่อต้องการใช้งาน
ก็เพียงเรียกชื่อฟังก์ชันนั้นก็สามารถใช้งานได้ทันที ฟังก์ชันใน PHP สามารถแบ่งได้เป็น 2 ชนิด คือ 
1) ฟังก์ชันมาตรฐาน (Built-in Functions) และ 2) ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions) มีรายละเอียด ดังนี้

  • ฟังก์ชันมาตรฐาน (Built-in Functions)

ฟังก์ชันมาตรฐาน คือ ฟังก์ชันที่มาพร้อมกับ PHP สามารถเรียกใช้งานได้ทันทีฟังก์ชันมาตรฐานมี
หลายกลุ่มการทำงาน สามารถจำแนกตามหน้าที่ ดังนี้

  1.  ฟังก์ชันที่เกี่ยวกับวันที่และเวลา
  2.  ฟังก์ชันที่เกี่ยวกับการค านวณทางคณิตศาสตร์
  3. ฟังก์ชันที่เกี่ยวกับการติดต่อกับฐานข้อมูล
  4. ฟังก์ชันที่เกี่ยวกับการจัดการกับกับสตริงหรือข้อความ

การเรียกใช้งานฟังก์ชันมาตรฐานของ PHP

ในการเรียกใช้งานฟังก์ชันจะต้องตรวจสอบก่อนว่าฟังก์ชันนั้นๆ เป็นฟังก์ชันเพื่อทำหน้าที่อะไร มี
การรับส่งค่าตัวแปรระหว่างฟังก์ชันหรือไม่ ถ้าไม่มีการรับส่งค่าระหว่างฟังก์ชัน ก็สามารถเรียกใช้งานได้
เลย แต่ถ้ามีการรับส่งค่าระหว่างฟังก์ชัน ก็จะต้องมีการระบุค่าพารามิเตอร์ ให้ถูกต้องตามรูปแบบที่ฟังก์ชันกำหนด
   ตัวอย่าง รูปแบบฟังก์ชันที่ไม่มีการรับส่งค่าระหว่างฟังก์ชัน
 function_name ( );
   ตัวอย่าง รูปแบบฟังก์ชันที่มีการรับส่งค่าระหว่างฟังก์ชัน
 function_name ($value1, $value2);
   ตัวอย่าง  การเรียกใช้งานฟังก์ชันมาตรฐาน 
<?php 
             $today = date("d/m/Y");           // เรียกใช้งานฟังก์ชัน date(); พร้อมระบุค่าอากิวเมนต์
             echo $today;                            // แสดงผลลัพธ์ เป็นวันที่ปัจจุบัน เช่น 6/7/2012 เป็นต้น 
?>
การสร้างฟังก์ชัน
ลักษณะของงานที่จะนำมาสร้างเป็นฟังก์ชันนั้น ควรเป็นงานหรือการกระทำอย่างใดอย่างหนึ่ง ที่
มักจะต้องทำซ้ำๆ และบ่อยครั้ง เพื่อให้ไม่ต้องเขียนคำสั่งหรือชุดคำสั่งนั้นๆ ทุกครั้งที่ต้องการทำงาน
แบบเดิม ซึ่งสามารถแยกคำสั่งบางส่วนออกมาสร้างเป็นฟังก์ชันไว้ต่างหากและนำมาทำเป็นฟังก์ชัน และ
เรียกใช้ตามลักษณะงานที่ต้องการ จะช่วยให้โค้ดคำสั่งของมีขนาดเล็กลง ช่วยลดการใช้ทรัพยากร และง่ายในการปรับปรุงแก้ไขในอนาคต เพราะสามารถแก้ไขเพียงครั้งเดียวก็จะมีผลทุกจุดที่เรียกใช้ฟังก์ชัน
รูปแบบ
<?php
              function ชื่อฟังก์ชัน (พารามิเตอร์)
             {
                          คำสั่ง;
             }
?>
** หมายเหตุ การตั้งชื่อฟังก์ชัน มีหลักเกณฑ์คล้ายกับการตั้งชื่อตัวแปร ดังนี้ 
- ต้องขึ้นต้นชื่อด้วย a-z หรือ _ เท่านั้น 
- ต้องประกอบด้วย a-z, 0-9 หรือ _ เท่านั้น 
- ต้องไม่ซ้ากับชื่อฟังก์ชันที่มีอยู่แล้วหรือฟังก์ชันมาตรฐานของ PHP 
พารามิเตอร์ คือ ตัวแปรหรือข้อมูลที่ต้องการรับจากภายนอกฟังก์ชันเข้ามาประมวลผลภายในฟังก์ชัน จะมีหรือไม่ก็ได้ ขึ้นอยู่กับว่าจาเป็นต้องใช้หรือไม่

  • ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions)

ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง คือ กลุ่มของคeสั่งที่ผู้ใช้เป็นผู้เขียนหรือพัฒนาขึ้นมาเอง เพื่อ
ทำงานหรือทำหน้าที่อย่างใดอย่างหนึ่งตามต้องการจากที่ได้กล่าวถึงในข้างต้น สรุปได้ว่า หลักๆ แล้วฟังก์ชันมีอยู่ด้วยกัน 2 ประเภท ทั้ง 2 ประเภท ก็จะมีฟังก์ชันที่ประกอบไปด้วย ฟังก์ชันที่ไม่มีการส่งค่าระหว่างฟังก์ชัน และฟังก์ชันที่มีการส่งค่าระหว่างฟังก์ชัน ค่าที่ใช้รับส่งระหว่างฟังก์ชัน จะเรียกว่า พารามิเตอร์ (parameter) หรือบ้างก็เรียกว่า อากิวเมนต์ (argument) 
การเรียกใช้ฟังก์ชันที่สร้างเอง
การเรียกใช้ฟังก์ชันที่สร้างเองสามารถทำได้เช่นเดียวกับการใช้ฟังก์ชันมาตรฐานของ PHP คือ ต้องระบุชื่อฟังก์ชันที่ต้องการใช้งานโดยระบุข้อมูลที่จะส่งให้กับฟังก์ชัน (ถ้ามี) ดังตัวอย่าง
  ตัวอย่าง การสร้างฟังก์ชัน 
<?php 
           function generateFooter ($msg)
           { 
                            printf ("<p><font color=red> %s <font></p>",$msg);
           } 
?>

  ตัวอย่าง  การเรียกใช้ฟังก์ชันที่สร้างเอง 
<?php 
               generateFooter ("Copyright 2012 Mr.Parinya Noidonprai"); 
?>


  • ฟังก์ชันแบบมีการส่งค่าพารามิเตอร์

พารามิเตอร์ คือ ข้อกำหนดในการรับข้อมูลของฟังก์ชัน โดยข้อมูลนั้นจะถูกนำไปใช้ประมวลผล
ภายในฟังก์ชัน พารามิเตอร์จะทำให้ฟังก์ชันมีความยืดหยุ่นต่อการใช้งาน เพราะผลลัพธ์จะแปรเปลี่ยนไป
ตามค่าพารามิเตอร์นั้น วิธีการกำหนดค่าพารามิเตอร์ มีดังนี้
          - พารามิเตอร์แบบกำหนดค่าเริ่มต้น (Default Parameter)
ในบางฟังก์ชันอาจใช้ค่าพารามิเตอร์ค่าใดค่าหนึ่งเป็นส่วนใหญ่ โดยอาจมีการเปลี่ยนไปใช้ค่าอื่น
บ้างในบางครั้ง ดังนั้นเพื่อความสะดวกจึงมีการกำหนดค่าพารามิเตอร์แบบกำหนดค่าเริ่มต้นขึ้น โดยจะ

กำหนดค่าพารามิเตอร์ที่ต้องใช้บ่อยๆ ไว้ล่วงหน้า หรือป้องกันปัญหาในกรณีที่ไม่ได้กหนดค่าพารามิเตอร์ให้กับฟังก์ชัน เมื่อมีการเรียกใช้ฟังก์ชันหากไม่มีการส่งค่าพารามิเตอร์มาให้ฟังก์ชัน ฟังก์ชันจะเรียกใช้ค่าเริ่มต้นที่กำหนดไว้ให้แทน รูปแบบการกำหนดพารามิเตอร์แบบกำหนดค่าเริ่มต้น มีรายละเอียด ดังนี
รูปแบบ
<?php
                function ชื่อฟังก์ชัน (ชื่อพารามิเตอร์ = ค่าเริ่มต้น) {
                           คำสั่ง;
                }

?>

  • พารามิเตอร์แบบส่งค่าและอ้างอิง (Passing Parameter by Value and Reference)

      ปกติแล้วค่าที่ถูกส่งไปยังฟังก์ชันจะเป็นแบบส่งค่า (by Value) คือ เมื่อมีการเปลี่ยนแปลงค่าของ
ตัวแปรภายในฟังก์ชันจะไม่ส่งต่อค่าตัวแปรตัวเดียวกันที่อยู่นอกฟังก์ชัน ทุกตัวอย่างก่อนหน้าในเรื่อง
ฟังก์ชันนี้ใช้วิธีการผ่านค่าพารามิเตอร์แบบส่งค่าทั้งหมด
       การส่งผ่านค่าแบบอ้างอิง (by Reference) นั้น หากในฟังก์ชันมีการเปลี่ยนแปลงค่าของตัวแปร
ภายในฟังก์ชันจะส่งผลให้ค่าของตัวแปรที่อ้างอิงกันนอกฟังก์ชัน ทำให้มีค่าเปลี่ยนตามไปด้วย การส่งผ่านค่าแบบอ้างอิงสามารถทำได้โดยการใส่เครื่องหมาย & ไว้หน้าพารามิเตอร์ตัวที่ต้องการอ้างอิง


  • การส่งค่ากลับจากฟังก์ชันด้วยคำสั่ง return

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

      return ค่าที่จะส่งกลับ;


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

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