บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

หมายเลข PHP


ในบทนี้ เราจะเจาะลึกถึงจำนวนเต็ม ทศนิยม และสตริงตัวเลข


หมายเลข PHP

สิ่งหนึ่งที่ควรสังเกตเกี่ยวกับ PHP คือมันให้การแปลงประเภทข้อมูลโดยอัตโนมัติ

ดังนั้น หากคุณกำหนดค่าจำนวนเต็มให้กับตัวแปร ประเภทของตัวแปรนั้นจะเป็นจำนวนเต็มโดยอัตโนมัติ จากนั้น หากคุณกำหนดสตริงให้กับตัวแปรเดียวกัน ชนิดจะเปลี่ยนเป็นสตริง

การแปลงอัตโนมัตินี้บางครั้งอาจทำให้โค้ดของคุณเสียหายได้


PHP Integers

2, 256, -256, 10358, -179567 เป็นจำนวนเต็มทั้งหมด

จำนวนเต็มคือตัวเลขที่ไม่มีส่วนทศนิยม

ชนิดข้อมูลจำนวนเต็มเป็นตัวเลขที่ไม่ใช่ทศนิยมระหว่าง -2147483648 และ 2147483647 ในระบบ 32 บิต และระหว่าง -9223372036854775808 และ 9223372036854775807 ในระบบ 64 บิต ค่าที่มากกว่า (หรือต่ำกว่านี้) จะถูกจัดเก็บเป็นแบบทศนิยม เนื่องจากมีค่าเกินขีดจำกัดของจำนวนเต็ม

หมายเหตุ:สิ่งสำคัญอีกอย่างที่ควรทราบคือแม้ว่า 4 * 2.5 จะเท่ากับ 10 ผลลัพธ์จะถูกเก็บไว้เป็นแบบลอย เนื่องจากตัวถูกดำเนินการตัวใดตัวหนึ่งเป็นทุ่น (2.5)

ต่อไปนี้คือกฎบางประการสำหรับจำนวนเต็ม:

  • จำนวนเต็มต้องมีอย่างน้อยหนึ่งหลัก
  • จำนวนเต็มต้องไม่มีจุดทศนิยม
  • จำนวนเต็มสามารถเป็นได้ทั้งค่าบวกหรือค่าลบ
  • จำนวนเต็มสามารถระบุได้ในสามรูปแบบ: ทศนิยม (10 ฐาน), เลขฐานสิบหก (ฐาน 16 - นำหน้าด้วย 0x) หรือฐานแปด (ฐาน 8 - นำหน้าด้วย 0)

PHP มีค่าคงที่ที่กำหนดไว้ล่วงหน้าต่อไปนี้สำหรับจำนวนเต็ม:

  • PHP_INT_MAX - รองรับจำนวนเต็มที่ใหญ่ที่สุด
  • PHP_INT_MIN - รองรับจำนวนเต็มที่น้อยที่สุด
  • PHP_INT_SIZE - ขนาดของจำนวนเต็มเป็นไบต์

PHP มีฟังก์ชันต่อไปนี้เพื่อตรวจสอบว่าชนิดของตัวแปรเป็นจำนวนเต็มหรือไม่:

  • is_int()
  • is_integer() - นามแฝงของ is_int()
  • is_long() - นามแฝงของ is_int()

ตัวอย่าง

ตรวจสอบว่าชนิดของตัวแปรเป็นจำนวนเต็มหรือไม่:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>


PHP Floats

ทศนิยมคือตัวเลขที่มีจุดทศนิยมหรือตัวเลขในรูปแบบเลขชี้กำลัง

2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 เป็นแบบลอยตัวทั้งหมด

โดยทั่วไปประเภทข้อมูลทุ่นสามารถจัดเก็บค่าได้สูงถึง 1.7976931348623E+308 (ขึ้นอยู่กับแพลตฟอร์ม) และมีความแม่นยำสูงสุด 14 หลัก

PHP มีค่าคงที่ที่กำหนดไว้ล่วงหน้าสำหรับการลอยตัว (จาก PHP 7.2):

  • PHP_FLOAT_MAX - จำนวนจุดลอยตัวที่ใหญ่ที่สุด
  • PHP_FLOAT_MIN - จำนวนทศนิยมบวกที่เล็กที่สุดที่แสดงแทนได้
  • - PHP_FLOAT_MAX - เลขทศนิยมติดลบที่แสดงแทนได้น้อยที่สุด
  • PHP_FLOAT_DIG - จำนวนทศนิยมที่สามารถปัดเศษเป็นทศนิยมและย้อนกลับได้โดยไม่สูญเสียความแม่นยำ
  • PHP_FLOAT_EPSILON - จำนวนบวกที่แทนค่าได้น้อยที่สุด x ดังนั้น x + 1.0 != 1.0

PHP มีฟังก์ชันต่อไปนี้เพื่อตรวจสอบว่าชนิดของตัวแปรเป็นแบบลอยหรือไม่:

  • is_float()
  • is_double() - นามแฝงของ is_float()

ตัวอย่าง

ตรวจสอบว่าประเภทของตัวแปรเป็นทศนิยมหรือไม่:

<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP Infinity

ค่าตัวเลขที่มากกว่า PHP_FLOAT_MAX ถือเป็นค่าอนันต์

PHP มีฟังก์ชันต่อไปนี้เพื่อตรวจสอบว่าค่าตัวเลขเป็นค่าจำกัดหรืออนันต์:

อย่างไรก็ตาม ฟังก์ชัน PHP var_dump() ส่งคืนประเภทข้อมูลและค่า:

ตัวอย่าง

ตรวจสอบว่าค่าตัวเลขเป็นค่าจำกัดหรืออนันต์:

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP น่าน

NaN ย่อมาจาก Not a Number

NaN ใช้สำหรับการดำเนินการทางคณิตศาสตร์ที่เป็นไปไม่ได้

PHP มีฟังก์ชันต่อไปนี้เพื่อตรวจสอบว่าค่าไม่ใช่ตัวเลขหรือไม่:

อย่างไรก็ตาม ฟังก์ชัน PHP var_dump() ส่งคืนประเภทข้อมูลและค่า:

ตัวอย่าง

การคำนวณที่ไม่ถูกต้องจะส่งกลับค่า NaN:

<?php
$x = acos(8);
var_dump($x);
?>

PHP Numerical Strings

ฟังก์ชัน PHP is_numeric() สามารถใช้เพื่อค้นหาว่าตัวแปรเป็นตัวเลขหรือไม่ ฟังก์ชันจะคืนค่า จริง หากตัวแปรเป็นตัวเลขหรือสตริงที่เป็นตัวเลข มิฉะนั้น จะเป็นเท็จ

ตัวอย่าง

ตรวจสอบว่าตัวแปรเป็นตัวเลขหรือไม่:

<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));

$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>

หมายเหตุ:จาก PHP 7.0: ฟังก์ชัน is_numeric() จะคืนค่า FALSE สำหรับสตริงตัวเลขในรูปแบบเลขฐานสิบหก (เช่น 0xf4c3b00c) เนื่องจากจะไม่ถือเป็นสตริงตัวเลขอีกต่อไป


PHP Casting Strings และ Floats เป็น Integers

บางครั้งคุณจำเป็นต้องแปลงค่าตัวเลขเป็นข้อมูลประเภทอื่น

ฟังก์ชัน (int) (จำนวนเต็ม) หรือ intval() มักใช้เพื่อแปลงค่าเป็นจำนวนเต็ม

ตัวอย่าง

โยนทุ่นและสตริงเป็นจำนวนเต็ม:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>