ความแตกต่างระหว่างฟังก์ชั่น round() floor() และ ceil()

ฟังก์ชั่น round() floor() และ ceil() จะให้ผลลัพท์แบบมีการปัดเศษทั้ง 3 ฟังก์ชั่น โดย
        
  • floor() จะมีการปัดเศษลงเสมอ และ
  •     
  • ceil() จะทำตรงข้ามกับ floor() คือจะมีการปัดเศษขึ้นเสมอ
  •     
  • round() จะมีการปัดเศษลงหากหลักสุดท้ายมีค่าน้อยกว่า 5 และปัดเศษขึ้นหากหลักสุดท้ายมีค่าตั้งแต่ 5 ขึ้นไป (ตัวฟังก์ชั่นสามารถกำหนดหลักที่ต้องการได้ ให้ศึกษาเพิ่มเติมจากคู่มือของ PHP)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 floor()ceil()round()
3.9344
3.5344
3.1343
3333
-3.1-4-3-3
-3.5-4-3-4
-3.9-4-3-4
ตัวอย่างการนำไปใช้งาน
<?php
if (floor($time) == 3) {
    // do some thing
}

การเปรียบเทียบเวลา หากต้องการให้เวลาอยู่ในช่วงที่กำหนดเท่านั้น ต้องใช้ floor() เช่นในตัวอย่าง เวลาตั้งแต่ 3.00 ถึง 3.59 เมื่อผ่าน floor() จะมีค่าเท่ากับ 3 เสมอ (ถ้าใช้ ฟังก์ชั่นอื่นจะถูกปัดเป็น 4)
<?php
// จำนวนรายการทั้งหมด
$count = 30;
// จำนวนรายการต่อหน้า
$list_per_page = 10;
// จำนวนหน้า
$pages = ceil($count / $list_per_page); // 3

ในการหาจำนวนหน้า เช่น การแบ่งหน้า จะต้องใช้ฟังก์ชั่น ceil() ดังตัวอย่าง สมมุติมีจำนวนทั้งหมด 30 รายการ หารด้วยหน้าละ 10 รายการจะได้ 3 หน้าพอดี และหากมีรายการเพิ่มเป็น 31 รายการ จะได้ว่า 31/10=3.1 ซึ่งจะได้ผลลัทธ์เป็น ceil(31/10) = 4 หากใช้ฟังก์ชั่นอื่น จำนวนหน้าจะได้เพียง 3 หน้า ซึ่งจะทำให้รายการที่ 31 ไม่ถูกแสดงผล
<?php
$price = round(3.90); // 4
$price = round(3.10); // 3

ตัวอย่างการใช้ฟังก์ชั่น round() เช่นในการคิดเงิน ซึ่งโดยทั่วไปมักจะมีการปัดเศษให้เศษสตางค์ตั้งแต่ 0.50 สตางขึ้นไป ปัดขึ้นอีก 1 บาท และเศษสตางค์ที่น้อยกว่า 50 สตางค์ให้ปัดลง (ไม่คิดเศษสตางค์) 
ผู้เขียน Goragod โพสต์เมื่อ 17 พ.ค. 2558 เปิดดู 1,014 ป้ายกำกับ PHP

เรื่องที่เกี่ยวข้อง

^