ฟังก์ชั่นเกี่ยวกับจำนวนและตัวเลขใน PHP

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

ฟังก์ชั่นเกี่ยวกับการประมาณค่า มีน่าสนใจมากมายดังนี้

ceil(จำนวน) ใช้ในการปัดเศษขึ้นไปเป็นเลขจำนวนเต็ม ถ้าเศษมีค่ามากกว่าศูนย์ (การทำงานคล้ายๆ function roundup/rounddown ของ Microsoft Excel นั่นเอง)

echo ceil(10.01); // ผลลัพธ์ 11

echo ceil(10.50) // ผลลัพธ์ 11

floor(จำนวน) ใช้ในการปัดเศษเช่นกันแต่ว่าจะเป็นการปัดเศษทิ้ง ไม่ว่าเศษนั้นจะมีค่าเท่าใดก็ตาม

echo floor(10.01); //ผลลัพธ์ 10

echo floor(10.50); //ผลลัพธ์ 10

round(จำนวน,[,ทศนิยม]) ใช้ในการประมาณค่าเป็นจำนวนเต็มที่ใกล้เคียง หากเศษน้อยกว่า 0.5 จะตัดเศษทิ้งทันที แต่หากเศษมีค่าเท่ากับและเกินกว่า 0.5 ขึ้นไป จะปัดขึ้นไปเป็นจำนวนเต็มถัดไป เช่น

echo round(10.49); //ผลลัพธ์ 10

echo round(10.50); //ผลลัพธ์ 11

intval(จำนวน) เลือกเอาเฉพาะจำนวนเต็มของจำนวนที่ระบุ หากมีทศนิยมจะตัดทิ้ง เช่น

echo intval(10.01); //10

echo intval(10.99); //10

echo intval(-1.23); //-1

floatval(จำนวน) เลือกเอาจำนวนที่ระบุในแบบ float ซึ่งฟังก์ชั่นนี้น่าจะมีประโยชน์ในกรณีที่จำนวนนั้นวางอยู่ข้างหน้าสตริง เช่น

echo floatval(“12.34 MB”); //12.34

ฟังก์ชั่นในการเปรียบเทียบจำนวน

min(n1,n2,…n) หรือ min(อาร์เรย์) หาค่าที่น้อยที่สุดในระหว่างที่กำหนด ดังตัวอย่าง

$m1 = min(6,7,3,8,9); //ผลลัพธ์ $m = 3

$m2 = min(array(10,10.5,3.4,5.2,20)); //ผลลัพธ์ $m2 = 3.4

ฟังก์ชั่นในการตรวจสอบ และจัดรูปแบบตัวเลข มีหลากหลายฟังก์ชั่น ดังนี้

number_format(จำนวน) เป็นฟังก์ชั่นที่ใช้ในการหาและจัดรูปแบบตัวเลข เช่น จาก 4567 เป็น 4,567 แบบนี้เป็นต้น

echo number_format(1234567); //ผลลัพธ์ 1,234,567

is_numeric(ข้อมูล) ตรวจสอบว่าข้อมูลต่างๆที่ระบุมานั้นเป็นตัวเลขหรือไม่ โดยคำตอบจะเป็นแค่ true หรือ false เท่านั้น และข้อมูลที่จะเป็น true นั้นต้องเป็นข้อมูลตัวเลขล้วนๆไม่มีสมาชิกอักขระอื่นๆปะปน ทั้งนี้ตัวเลขเกิดมีการเขียนในรูปแบบสตริง คืออยู่ในเครื่องหมาย “…” เช่น “1234” ก็จะถือว่าเป็น true เป็นตัวเลขด้วย เพราะว่าสามารถนำไปใช้ในการคำนวนได้ ดังตัวอย่าง

$a = is_numeric(123); //$a = ture

$b = is_numeric(“1.23″); //$b=true

$c = is_numeric(“123abc”); //$c=false

$d= is_numeric(“xyz”); //$d=false

$e = is_numeric(12e3); //$e=true (e ใช้กำหนดเลขชี้กำลังฐานสิบ)