ctype_xdigit()
ใน php มีฟังหนึ่งที่สนใจ คือ ฟังก์ชัน ctype_xdigit() ฟังก์ชันนี้เป็นฟังก์ชันที่ทำหน้าที่ตรวจสอบเลขฐานสิบหก ส่วนเลขฐานสิบหก (อังกฤษ: hexadecimal) หมายถึงระบบเลขฐานที่มีสัญลักษณ์ 16 ตัว (ฐานสิบมี 10 ตัวคือ 0-9) โดยปกติจะใช้สัญลักษณ์ 0 1 2 3 4 5 6 7 8 9 A B C D E F ในการแสดงหรือเขียนทั้ง 16 ตัว และยังมีฟังก์ชัน hexdec() ใช้ในการแปลงเลขฐาน 16 เป็นเลขฐาน 10 น่ะครับ
สำหรับฟังก์ชัน ctype_xdigit() จะตรวจสอบค่าใน string หรือ test ว่ามีเลขฐานสิบหกทุกตัวไหม ซึ่งถ้าหากว่ามีก็จะส่งค่ามาเป็น true และพบว่ามีทั้งหมดหรือบางตัวไม่ใช่เลขฐานสิบหก ก็จะส่งค่ากลับมา false
รูปแบบ syntex
ctype_xdigit ( string $text ) : bool
ตัวอย่างโค้ดดังนี้ครับ
<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
if (ctype_xdigit($testcase)) {
echo "The string $testcase consists of all hexadecimal digits.\n";
} else {
echo "The string $testcase does not consist of all hexadecimal digits.\n";
}
}
?>
ส่วนผลลัพธ์
The string AB10BC99 consists of all hexadecimal digits.
The string AR1012 does not consist of all hexadecimal digits.
The string ab12bc99 consists of all hexadecimal digits.
จะเห็นได้ว่า string ตัวแรก กับ ตัวสุดท้ายนั้น มีเลขฐาน16ทุกตัว จึงส่งค่ากลับมาเป็น true แต่ string ตัวที่สองนั้น มีตัวอักษร R ที่ไม่ใช่เลขฐาน16 ค่าที่ได้จึงเป็น false
ฟังก์ชันนี้เป็นฟังก์ชันที่มีหลักเข้าใจง่าย มีหลักการเพียงแค่ตรวจสอบค่า และส่งค่ากลับเป็น true หรือ false แค่นั้นเองน่ะครับ คงจะได้ประโยชน์จากบทความนี้บ้างนะครับ