งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 ฟังก์ชัน วิทยา กรระสี ( วท. บ. วิทยาการ คอมพิวเตอร์ )

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 ฟังก์ชัน วิทยา กรระสี ( วท. บ. วิทยาการ คอมพิวเตอร์ )"— ใบสำเนางานนำเสนอ:

1 1 ฟังก์ชัน วิทยา กรระสี ( วท. บ. วิทยาการ คอมพิวเตอร์ )

2 2 นิยาม ฟังก์ชันคือส่วนของโปรแกรมที่ทำงานเสร็จสิ้น ภายในตัวเอง มีลักษณะเหมือนกับโปรแกรม ย่อยสับรูทีน (subroutine) ภาษา PHP มีชนิดของฟังก์ชันที่เตรียมให้ใช้งาน 2 ชนิด คือ Library Function คือ ฟังก์ชันที่ภาษา PHP สร้างไว้ เรียบร้อยแล้ว สามารถเรียกใช้ได้ทันที User-defined functions คือฟังก์ชันที่ผู้ใช้โปรแกรม เขียนขึ้นเอง ()

3 3 ฟังก์ชันที่ผู้ใช้โปรแกรมเขียนขึ้นเอง (User-defined functions) การสร้างฟังก์ชันขึ้นใช้เอง มีรูปแบบดังนี้ function function_name ([parameterList]) { รายการชุดคำสั่ง... [return ค่าที่ต้องการส่งกลับ ] }

4 4 การส่งค่ากลับของฟังก์ชัน ฟังก์ชันจะให้ค่ากลับคืนหรือไม่ก็ได้ ถ้าต้องการให้ ค่ากลับคืนจากการทำงานของฟังก์ชัน จะใช้คำสั่ง return การเรียกใช้ฟังก์ชัน ทำได้โดยการอ้างถึงชื่อของ ฟังก์ชันที่ต้องการโดยที่คำสั่งที่เรียกใช้นั้นจะอยู่ ก่อนหรือหลังฟังก์ชันที่ถูกเรียกก็ได้

5 5 การส่งค่ากลับของฟังก์ชัน ตัวอย่าง การคำนวนหาพื้นที่วงกลม The area is

6 6 Figure 4-2

7 7 การผ่านค่าพารามิเตอร์ให้กับ ฟังก์ชัน การผ่านค่าไปยังฟังก์ชันมี 2 วิธี 1.Call by values ตัวแปรรับค่ามาแล้วเกิดการ เปลี่ยนแปลงค่าจะไม่มีการส่งกลับคืน 2.Call by reference การส่งข้อมูลในกรณีนี้ตัวแปร พารามีเตอร์ที่รับค่าจะต้องนำหน้าด้วยเครื่องหมาย “&” กรณีนี้จะทำให้ตัวแปรที่ทำหน้าที่ส่งค่าและตัว แปรที่ทำหน้าที่รับค่าอ้างอิงที่อยู่ของข้อมูล เดียวกัน เมื่อมีการเปลี่ยนแปลงค่าของตัวแปรพารา มีเตอร์ในฟังก์ชันก็จะมีผลทำให้ค่าของตัวแปร อาร์กิวเมนต์ที่ส่งไปให้โปรแกรมเปลี่ยนไปด้วย

8 8 ตัวอย่าง Call by values function one ( $parameter ) { $parameter++; } $a = 10 ; one( $a ) ; echo “ a = $a ” ; ผลลัพธ์ของโปรแกรมคือ a = 10

9 9 ตัวอย่าง Call by reference function one ( &$parameter ) { $parameter++; } $a = 10 ; one( $a ) ; echo “ a = $a ” ; ผลลัพธ์ของโปรแกรมคือ a = 11

10 10 Figure 4-4

11 11 $b) { $t=$a; $a=$b; $b=$t; } $x=10; $y=3; echo "x=",$x,",y=",$y," \n"; minmax($x,$y); echo "x=",$x,",y=",$y," \n"; ?> ตัวอย่าง

12 12 การสลับค่าของตัวแปรสองตัวด้วย ฟังก์ชัน swap()

13 13 มีข้อสงเกตอยู่ว่า การใช้ call-by-reference ไม่จำเป็นต้องทำตอนนิยามฟังก์ชันเท่านั้น แต่อาจจะทำตอนผ่านตัวแปรเมื่อเรียกใช้ งานจริง ตัวอย่างเช่น

14 14 การกำหนดค่าเริ่มต้นให้กับตัว แปรพารามิเตอร์ เราสามารถกำหนดค่าเริ่มต้นให้กับตัวแปรทำให้มี ประสิทธิภาพมากขึ้น ตัวอย่าง This line is blue – size 2. This line is blue – size 4.

15 15 Arguments with Default Values

16 16 ขอบเขตของตัวแปร มี 2 แบบ คือ 1.Global scope เมื่อกำหนดตัวแปรแบบนี้แล้ว สามารถเรียกใช้ได้ทุกส่วนของโปรแกรมและค่า ของตัวแปรนั้นยังอยู่จนกว่าโปรแกรมนั้นจะจบหรือ หยุดทำงาน 1.1 โดยใช้คำสั่ง global 1.2 โดยผ่านตัวแปรอาร์เรย์ชื่อ $GLOBAL

17 17

18 18 ฟังก์ชัน getMin() อีกรูปแบบหนึ่ง โดยไม่ใช้ตัว แปรแบบ global ภายในฟังก์ชัน และใช้วิธี ผ่านค่าแทน

19 19 การใช้ตัวแปรแบบ global ภายใน ฟังก์ชัน 2.Local Scope คือตัวแปรที่กำหนดขึ้นใช้ภายในฟังก์ชันนั้นๆ เท่านั้น เมื่อออกจากส่วนของโปรแกรมนั้นไปแล้ว ตัวแปรนั้นจะหายไปและตัวแปรที่กำหนดในฟังก์ชัน หนึ่งไม่สามารถเรียกใช้อีกจากฟังก์ชันหนึ่งได้

20 20 การกำหนดตัวแปรแบบ static ภายในฟังก์ชัน ตัวแปรภายในฟังก์ชันจะสามารถเก็บค่าไว้ได้ ตลอดเวลาโดยไม่สูญหายไป function MyFunc() { static $num_func_calls = 0; echo "my function\n"; return ++$num_func_calls; }

21 21 การใช้ฟังก์ชันเพื่อสร้างตัวเลข แบบสุ่ม การใช้ฟังก์ชันเพื่อสร้างตัวเลขแบบสุ่ม หรือ random number generator จะคล้ายกับของ ภาษาซี ตัวอย่าง srand( date("s") ); for ($i=0; $i < 10; $i++) { $x = rand() % 10; echo $x," "; }

22 22 ฟังก์ชันเรียกใช้ฟังก์ชัน (Nesting Function Calls) ตัวอย่าง

23 23 function increment_by_three( $int_parameter ) { $int_parameter++; // make a nested function call to increment_by_two(). return( increment_by_two($int_parameter) ); } $a = increment_by_three( 34 ); echo "a = $a "; ?> ผลลัพธ์ของโปรแกรมคือ a = 37

24 24 การสร้างฟังก์ชันแบบเรียกตัวเอง (recursive function) ฟังก์ชันที่มีคำสั่งภายในฟังก์ชันนั้นเรียกใช้ฟังก์ชัน ตัวเองแบบวนลูป ตัวอย่าง การหาค่าแฟกทอเรียล n! function factorial ($n) { if ( ($n == 0) || ($n == 1) ) return 1; else return $n*factorial($n-1); }

25 25 Figure 4-6 1) { /* integer minus one is still an integer */ return(checkInteger($Number-1)); } elseif($Number < 0)

26 26 { /* numbers are symmetrical, so */ /* check positive version */ return(checkInteger((-1)*$Number-1)); } else { if(($Number > 0) AND ($Number < 1)) { return("no"); } else { /* zero and one are */ /* integers by definition */ return("yes"); }

27 27 print("Is 0 an integer? ". checkInteger(0). " \n"); print("Is 7 an integer? ". checkInteger(7). " \n"); print("And 3.5? ". checkInteger(3.5). " \n"); print("What about -5? ". checkInteger(-5). " \n"); print("And -9.2? ". checkInteger(-9.2). " \n"); ?>

28 28 ตัวอย่างที่ 5-10 fibonacci.inc การหาค่า fibonacci number

29 29 // use recursion to find the previous two elements // in the series. return( fibonacci($var-1) + fibonacci($var-2) ); } ?>

30 30 โปรแกรมที่เรียกใช้คือ

31 31 การผ่านค่ากลับคืนมากกว่าหนึ่ง จากฟังก์ชัน โดยปรกติแล้วเราไม่สามารถผ่านค่ากลับคืน จากฟังก์ชันได้มากกว่าหนึ่ง แต่อย่างไรก็ตาม ยังมีวิธีการหนึ่งที่ช่วยแก้ปัญหาดังกล่าวได้ วิธี นี้คือ เก็บค่าต่างๆที่ต้องการจะใช้เป็นค่า กลับคืนไว้ใน array แล้วใช้ array นั้นเป็นค่า กลับคืน และผู้เรียกใช้ฟังก์ชันสามารถใช้ ฟังก์ชัน list() อ่านค่าเหล่านั้นได้ ตัวอย่างเช่น function foobar() { return array ("foo", "bar", 0xff); } list ($foo, $bar, $num) = foobar(); echo "$foo $bar $num \n"; ผลลัพธ์ของโปรแกรมคือ foo bar 255

32 32 Figure 4-7: Dynamically Calling a Function

33 33 $myFunction = "write"; $myFunction("Hello!"); print(" \n"); $myFunction = "writeBold"; $myFunction("Goodbye!"); print(" \n"); ?>

34 34 การใช้คำสั่ง include และ require คำสั่งทั้งสองมีไว้เพื่อแทรกเนื้อหาจากไฟล์อื่น ที่ต้องการ โดย คำสั่ง require จะอ่านเพียงครั้งเดียว คือ ไฟล์แรก และจะแทรกไฟล์นี้เท่านั้นไปตาม จำนวนครั้งที่วนลูป ในขณะที่ include สามารถอ่านได้ไฟล์ต่างๆกันตามจำนวนครั้งที่ ต้องการ

35 35 ตัวอย่าง ไฟล์ file1.inc Hello world 1 ไฟล์ file2.inc Hello world 2

36 36 การอ่านตัวแปรจากภายนอกที่ได้ จากการ Web browser โดยวิธี GET หรือ POST การส่งและรับข้อมูลจะหว่าง Web browser กับ Script ที่เขียนขึ้นมา ตัวอย่าง การใช้ Post login: มีต่อ

37 37 password:

38 38 ตัวอย่าง ไฟล์ login.php Result Your login = Your password =

39 39 การตรวจชนิดของ web browser ตัวอย่าง function getBrowserName() { global $HTTP_USER_AGENT; $browser=strtoupper($HTTP_USER_ AGENT); if (strstr($browser,"MSIE.")) return "MS Internet Explorer"; else if (strstr($browser,"MOZILLA")) return "Netscape"; else return ""; }


ดาวน์โหลด ppt 1 ฟังก์ชัน วิทยา กรระสี ( วท. บ. วิทยาการ คอมพิวเตอร์ )

งานนำเสนอที่คล้ายกัน


Ads by Google