Mathematical Functions
เป็นฟังก์ชั่นที่ช่วยคำนวณทางคณิตศาสตร์ที่ซับซ้อน ซึ่งมีอยู่มากมายหลายฟังก์ชั่นดังนี้
| ชื่อฟังก์ชั่น | คำอธิบาย และรายละเอียด |
| sin() | หาค่า Sie ทางตรีโกณมิติของมุมที่ต้องการ |
| cos() | หาค่า Cosine ทางตรีโกณมิติของมุมที่ต้องการ |
| tan() | หาค่า Tangent ทางตรีโกณมิติของมุมที่ต้องการ |
| sqrt() | หาค่ารากที่สองของค่าคงที่หรือตัวแปร (Square Root) |
| pow() | หาค่ายกกำลังของค่าคงที่หรือตัวแปร |
| log() | หาค่า log ฐาน n (Natural Logarithm) ของค่าคงที่หรือตัวแปร |
| log10() | หาค่า log ฐาน 10 ของค่าคงที่หรือตัวแปร |
| max() | หาค่าสูงสุด |
| min() | หาค่าต่ำสุด |
| bindec() | ใช้ในการเปลี่ยนเลขฐาน 2 ให้เป็นฐาน 10 |
| octdec() | ใช้ในการเปลี่ยนเลขฐาน 8 ให้เป็นฐาน 10 |
| hexdec() | ใช้ในการเปลี่ยนเลขฐาน 16 ให้เป็นฐาน 10 |
| decbin() | ใช้ในการเปลี่ยนเลขฐาน 10 ให้เป็นฐาน 2 |
| decoct() | ใช้ในการเปลี่ยนเลขฐาน 10 ให้เป็นฐาน 8 |
| dechex() | ใช้ในการเปลี่ยนเลขฐาน 10 ให้เป็นฐาน 16 |
| number_format() | ใช้ในการกำหนดรูปแบบการแสดงผลของตัวเลข |
ตัวอย่างการใช้งานฟังก์ชั่น sin()
รูปแบบ
| sin(float arg); |
float arg = มุมที่ต้องการหาค่าซึ่งจะต้องเป็น Radians
| <? $con = 1; do { printf (Sine Of %5f is %5f n <BR>, $con, sin($con)); $con += 0.2; } while ($con <=2); ?> |
ผลลัพธ์ที่ได้คือ
Sine Of 1 is .841470984807897 Sine Of 1.2 is .932039085967226 Sine Of 1.4 is .98544972998846 Sine Of 1.6 is .999573603041505 Sine Of 1.8 is .973847630878195 Sine Of 2 is .909297426825682 |
จากโค้ดเราใช้ do
while เพื่อทำการวนลูปแสดงค่า sine และใช้คำสั่ง printf แสดงค่ามุมเรดียน จากตัวแปร $con และค่า sine จากฟังก์ชั่น sin($con)
ส่วนฟังก์ชั่น cos() และ tan() ก็มีลักษณะการใช้งานเช่นเดียวกันกับฟังก์ชั่น sin()
| sqrt(float arg); |
float arg = ค่าคงที่หรือตัวแปรที่ต้องการหาค่ารากที่สองซึ่งค่าที่นำมาจะต้องไม่ติดลบ
| <? print sqrt(36.6); ?> |
ผลลัพธ์ที่ได้คือ 6
| pow(float base, flot exp); |
float base = ค่าคงที่หรือตัวแปรที่ใช้เป็นเลขฐานและต้องมีค่ามากกว่าศูนย์
float exp = ค่าคงที่หรือตัวแปรที่ใช้เป็นค่ายกกำลัง
| <? $a = 2.0; $b = 0.0; do { printf (2<sup>%.0f</sup> = %.2fn<BR>, $b, pow($a,$b)); $b++; }while ($e < 5.0); ?> |
ผลลัพธ์ที่ได้คือ
| 20 = 1.00 21 = 2.00 22 = 4.00 23 = 8.00 24 = 16.00 |
จากโค้ดเราใช้ do while เพื่อทำการวนลูปแสดงค่าเลขยกกำลัง และใช้คำสั่ง printf แสดงค่าตัวชี้กำลังจากตัวแปร $b และค่ายกกำลังจากฟังก์ชั่น pow($a,$b)
| log(float arg); |
float arg = ค่าคงที่หรือตัวแปรที่ต้องการหาค่า log ฐาน n ซึ่งจะเป็นลบไม่ได้
| <? print log(1.0); print <BR>; printf (%.2f, log(2.0)); print <BR>; printf (%.2f, log(3.0)); ?> |
ผลลัพธ์ที่ได้คือ
| 0 0.69 1.10 |
ส่วนฟังก์ชั่น log10() ก็จะมีรุปแบบการใช้งานเดียวกันกับฟังก์ชั่น log()
| max(value 1 , value 2 , value n ); |
value = ค่าคงที่หรือตัวแปรที่ต้องการหาค่าสูงสุด
| <? print max(10, 5, 30, 15, 50, 45, 60); ?> |
ผลลัพธ์ที่ได้คือ
| 60 |
ส่วนฟังก์ชั่น min() ก็จะมีรุปแบบการใช้งานเดียวกันกับฟังก์ชั่น max()
| bindec(binary_string); |
binary_string = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 2 ที่ต้องการทำเป็นเลขฐาน 10
| <? print bindec(1110011); ?> |
ผลลัพธ์ที่ได้คือ
| 243 |
| octdec(octal_string); |
octal_string = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 8 ที่ต้องการทำเป็นเลขฐาน 10
| <? print octdec(31); ?> |
ผลลัพธ์ที่ได้คือ
| 25 |
| hexdec(hex_string); |
hex_string = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 16 ที่ต้องการทำเป็นเลขฐาน 10
| <? print hexdec(fa); ?> |
ผลลัพธ์ที่ได้คือ
| 250 |
| decbin(int number); |
int number = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 10 ที่ต้องการทำเป็นเลขฐาน 2
| <? print decbin(243); ?> |
ผลลัพธ์ที่ได้คือ
| 11110011 |
| decoct(int number); |
int number = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 10 ที่ต้องการทำเป็นเลขฐาน 8
| <? print decoct(25); ?> |
ผลลัพธ์ที่ได้คือ
| 31 |
| dechex(int number); |
int number = ค่าคงที่หรือตัวแปรที่เป็นเลขฐาน 10 ที่ต้องการทำเป็นเลขฐาน 16
| <? print dechex(250); ?> |
ผลลัพธ์ที่ได้คือ
| fa |
| number_format(fioat number, int decimals, string dec_point, string thousands_sep); |
| float number | คือ ค่าคงที่หรือตัวแปรที่นำมากำหนดรูปแบบ |
| int decimals | คือจำนวนจุดทศนิยมที่ต้องการ |
| string dec_point | คือ สัญลักษณ์ที่ใช้ในการกำหนดจุดทศนิยม |
| string thosands_sep | คือสัญลักษณ์ที่ใช้ในการคั่นหลักพัน |
| <? $total = 125252.683526; print number_format($total, 2, ., ,); print number_format($total, 2, #, _); ?> |
ผลลัพธ์ที่ได้คือ
| 125,252.68 125_252#68 |
