ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ใน PHP มีฟังก์ชั่นที่ใช้การตรวจสอบค่าต่างๆมากมาย ไม่ว่าจะเป็น ฟังก์ชั่น isset() : ใช้ในการตรวจสอบว่าตัวแปลที่กำหนดมีการ เซ็ตไว้หรือไม่ หรือ ฟังก์ชัน ctype_digit() : ใช้สำหรับตรวจสอบตัวเลข หรือ ตรวจสอบทำงานได้อย่างถูกต้องไหม เป็นต้น และสำหรับบทความนี้ เราจะมาเรียนรู้ฟังก์ชัน ctype_alpha() ซึ่งเป็นฟังก์ชันที่ใช้ในการตรวจสอบอักขระที่เป็นตัวอักษรเท่านั้น ในที่นี้หมายถึง A/a-Z/z และจะส่งค่าเป็น bool เท่านั้น
เช่น ถ้าพบว่า ใน string นั้น มีเพียงตัวอักษร จะส่งค่ากลับมาเป็น true ในทางกลับกัน หากพบว่ามีตัวอักระอื่นๆเช่น สัญลักษณ์ต่างๆ ตัวเลข เข้ามาแทรกส่วนใดส่วนหนึ่งหรือทั้งหมดของ string จะส่งค่ากลับมาเป็น false

ctype_alpha ( string $text ) : bool

เรามาดูตัวอย่างโค้ดน่ะครับ

<?php
$str = "my age is 21";
$str1 = "My name is genetic";
$str2 = "MyNameIsGenetic";
if(ctype_alpha($str)){
    echo "str= true <br>";
}else{
    echo "str = false <br>";
}

if(ctype_alpha($str1)){
    echo "str1 = true <br>";
}else{
    echo "str1 = false <br>";
}
if(ctype_alpha($str2)){
    echo "str2 = true <br>";
}else{
    echo "str2 = false <br>";
}
?>

ผลลัพธ์ที่ได้

str = false 
str1 = false 
str2 = true 

จากตัวอย่างจะเห็นว่า ในตัวแปร $str นั้นพบว่า มีตัวเลข 21 อยู่ จึงคืนค่าเป็น FALSE 

ส่วนในตัวแปร $str1 นั้นมีเฉพาะตัวอักษรแต่ทำไมถึงค่าออกมาเป็น FALSE ก็เพราะว่ามีช่องว่าง (space) นั้นไม่ถือว่าเป็นอักษรนั่นเองครับ  ดังนั้นมันจึงคืนค่าเป็น FALSE

ตัวอย่างที่สอง

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
    if (ctype_alpha($testcase)) {
        echo "The string $testcase consists of all letters.\n";
    } else {
        echo "The string $testcase does not consist of all letters.\n";
    }
}
?>

ในตัวอย่างที่สองจะการ Loop เพื่ออ่านค่าใน Array ซึ่งมีสองค่า และผลลัพธ์ที่ได้

The string KjgWZC consists of all letters.
The string arf12 does not consist of all letters.

จะเห็นว่า อาร์เรย์ตัวเป็นตัวอักษรทั้งหมดถึงแม้จะมีตัวพิมพ์เล็กตัวพิมพ์ใหญ่ก็ตาม ส่วนอาร์ตัวที่สองได้ echo ออกมาว่า ไม่ใช่ตัวอักษรทั้งหมด เพราะพบมีตัวเลข 1 และ 2 ปะปนอยู่ครับ 

เราสามารถนำฟังก์ชันไปประยุกต์ได้มากมายเช่น เพื่อกาารตรวจซื่อหรือนามสกุลของผู้ใช้ เพื่อป้องกันไม่ให้มีตัวเลขหรือสัญลักษณ์อื่นๆปะปนมาด้วย เพราะโดยปกติแล้ว ชื่อหรือนามสกุล มักจะไม่ตัวเลขครับ หวังว่าบทความนี้จะเป็นประโยชน์ในการนำไปใช้ให้เข้ากับโปรเจ็คของเราน่ะครับ 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธี ตรวจสอบ DNS nameserver แบบง่ายๆ
โดย aninthana ส 24 ส.ค. 2019 3:33 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
6
ส 24 ส.ค. 2019 3:33 pm โดย aninthana
วิธีประมาณการรายได้-ค่าใช้จ่ายครึ่งปีหลัง มีวิธีประมาณการยังไง
โดย EyePornnipa ส 24 ส.ค. 2019 3:19 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
11
ส 24 ส.ค. 2019 3:45 pm โดย Amp_Audit
มีวิธีกำหนดภาพ เป็นแนวนอนไหมครับ แล้วก็ ถ้าภาพเกิน 4 ภาพให้ลงมาอีกบรรทัดนึงครับ
โดย Patipat ส 24 ส.ค. 2019 1:53 pm บอร์ด HTML CSS
2
9
ส 24 ส.ค. 2019 2:18 pm โดย Patipat
Q - ทำไมหน้าตั้งค่าของ MDFiles Categories ใช้งานไม่ได้ครับ
โดย Patipat ส 24 ส.ค. 2019 11:31 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
7
ส 24 ส.ค. 2019 11:31 am โดย Patipat
ใบสำคัญที่กรมสรรพากรยอมรับ มีอะไรบ้าง
โดย EyePornnipa ส 24 ส.ค. 2019 11:21 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
20
ส 24 ส.ค. 2019 11:36 am โดย Amp_Audit
งานประจำวันที่ 24 สิงหาคม 2562
โดย Patipat ส 24 ส.ค. 2019 10:25 am บอร์ด M088 - ปฏิภัทร สารธรรม
0
4
ส 24 ส.ค. 2019 10:25 am โดย Patipat
งานประจำวันที่ 24 สิงหาคม 2562
โดย jamepiyawat ส 24 ส.ค. 2019 10:19 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
6
ส 24 ส.ค. 2019 10:19 am โดย jamepiyawat
งานประจำวันที่ 24 สิงหาคม 2562
โดย EyePornnipa ส 24 ส.ค. 2019 10:10 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
2
18
ส 24 ส.ค. 2019 2:30 pm โดย EyePornnipa
งานประจำวันที่ 24 สิงหาคม 2562
โดย jirawoot ส 24 ส.ค. 2019 10:03 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
3
ส 24 ส.ค. 2019 10:03 am โดย jirawoot
งานประจำวันที่ 24 สิงหาคม 2562
โดย aninthana ส 24 ส.ค. 2019 9:50 am บอร์ด M092 - อนินธนา บุญยัง
1
13
ส 24 ส.ค. 2019 12:28 pm โดย mindphp
เขียนรายละเอียดของคำถาม
โดย พิ๊แบงค์ซ๊า ศ 23 ส.ค. 2019 11:03 pm บอร์ด Programming - PHP
0
5
ศ 23 ส.ค. 2019 11:03 pm โดย พิ๊แบงค์ซ๊า
ประเภทหน้ารายงานงบการเงิน
โดย EyePornnipa ศ 23 ส.ค. 2019 6:30 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
11
ส 24 ส.ค. 2019 2:10 pm โดย EyePornnipa
Android Q ได้ชื่อใหม่แล้ว ไม่ใช่ชื่อขนม แต่เป็น "Android 10" มีเปลี่ยนโลโก้ด้วย
โดย aninthana ศ 23 ส.ค. 2019 5:49 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
0
13
ศ 23 ส.ค. 2019 5:49 pm โดย aninthana
สอบถาม ถ้าลงไพทอน เวอร์ชั่นใหม่ เดิมใช้เวอร์ชั่นเก่าอยู่ จะเป็นยังไงครับ
โดย chatee supasand ศ 23 ส.ค. 2019 5:49 pm บอร์ด Programming - C/C++ & java & Python
1
18
ศ 23 ส.ค. 2019 5:52 pm โดย tatiya
ดีไซต์ใหม่ Google Play Store เน้นสีขาว
โดย jamepiyawat ศ 23 ส.ค. 2019 5:48 pm บอร์ด Share Knowledge
0
9
ศ 23 ส.ค. 2019 5:48 pm โดย jamepiyawat
วีธีการดาวน์โหลดวีดีโอด้วยลิ้ง url โดยการใช้ requests
โดย jirawoot ศ 23 ส.ค. 2019 5:46 pm บอร์ด Python Knowledge
0
19
ศ 23 ส.ค. 2019 5:46 pm โดย jirawoot
ฟีเจอร์ Template MZC_
โดย Patipat ศ 23 ส.ค. 2019 4:59 pm บอร์ด M088 - ปฏิภัทร สารธรรม
1
11
ศ 23 ส.ค. 2019 5:12 pm โดย Patipat
B - ปรับ Template opencart
โดย jamepiyawat ศ 23 ส.ค. 2019 5:02 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
5
ศ 23 ส.ค. 2019 5:02 pm โดย jamepiyawat
ฟีเจอร์ Template MooZiiOpencart
โดย jamepiyawat ศ 23 ส.ค. 2019 4:42 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
13
ศ 23 ส.ค. 2019 5:36 pm โดย jamepiyawat
ใบแจ้งหนี้รูปแบบต่างๆ
โดย EyePornnipa ศ 23 ส.ค. 2019 3:51 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
8
41
ส 24 ส.ค. 2019 4:21 pm โดย EyePornnipa