4.4 ฟังก์ชันเกี่ยวกับสตริง (String)

     สตริง (string) คือ ค่าของตัวแปรที่อยู่ในรูปแบบของตัวอักษร อักขระ ที่เรียงต่อกันเป็นข้อความ ในภาษาพีเอชพีมีฟังก์ชันมาตรฐานสําหรับจัดการตัวอักษรไว้หลากหลาย ซึ่งภาษาพีเอชพีมีฟังก์ชันที่จัดเตรียมไว้ให้ผู้พัฒนาเรียกใช้งานอยู่หลากหลาย ค่าตัวแปรที่เป็นตัวอักษรจะเรียงต่อกันในรูปแบบของอาเรย์ จนเกิดเป็นข้อความที่สามารถสื่อความหมายได้ ฟังก์ชันที่ใช้งานบ่อยในภาษาพีเอชพีเช่น การนับจํานวนตัวอักษร การนับจํานวนคํา การแยกหรือรวมตัวอักษร การค้นหาข้อความ หรือ การแทรกข้อความ เป็นต้น ทั้งนี้หากต้องการศึกษาหรืออ้างอิงถึงฟังก์ชันเกี่ยวกับตัวอักษรอื่น ๆ อย่างละเอียดสามารถเข้าถึงได้ที่ลิงค์ http://www.w3schools.com/php/php_ref_string.asp

4.4.1 การหาขนาดตัวอักษร

     หากต้องการนับจํานวนของตัวอักษรที่อยู่ในตัวแปรหรือค่าที่กําหนด ซึ่งฟังก์ชันสําหรับการหาขนาดของตัวอักษรมีดังนี้

4.4.1.1 strlen()

     strlen() เป็นฟังก์ชันสําหรับหาความยาวของตัวอักษรโดยจะนับจํานวนของตัวอักษรที่อยู่ ในตัวแปร โดยตัวแปร ตัวอักษร หรือ ช่องว่าง จะถูกนับค่าเป็น 1 ตัวอักษรเหมือนกัน หรือหากค่า ตัวแปรเป็นภาษาไทย ส่วนที่เป็นสระและวรรณยุกต์ ฟ้งก์ชันจะนับค่าเป็น 1 ตัวอักษร

ตัวอย่าง เช่น

4.4.1.2 str_word_count()

     str_word_count() เป็นคําสั่งสําหรับนับจํานวนคําโดยจะแยกคําแล้วนับจํานวน ยกเว้นคําที่ถูกคั่นด้วยเครื่องหมาย ' และ –

ตัวอย่าง เช่น

4.4.2 การเปลี่ยนรูปแบบตัวอักษร

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

4.4.2.1 strrev()

     strrev() ใช้สําหรับเรียงลําดับตัวอักษรจากหลังไปหน้า มีรูปแบบการใช้งาน

ตัวอย่าง เช่น

4.4.2.2 strtolower()

     strtolower() เป็นฟังก์ชันสําหรับเปลี่ยนรูปแบบตัวอักษรให้กลายเป็นตัวพิมพ์เล็ก ทั้งหมด ซึ่งใช้ได้เฉพาะอักษรภาษาอังกฤษ

ตัวอย่าง เช่น

4.4.2.3 strtoupper()

     strtoupper() เป็นฟังก์ชันสําหรับเปลี่ยนรูปแบบตัวอักษรเป็นตัวพิมพ์ใหญ่ทั้งหมด

ตัวอย่าง เช่น

4.4.2.4 ucfirst()

     ucfirst() เป็นฟังก์ชันสําหรับเปลี่ยนตัวอักษรเฉพาะตัวแรกให้เป็นตัวพิมพ์ใหญ่

ตัวอย่าง เช่น

4.4.2.5 ucwords()

     ucwords() เป็นฟังก์ชันสําหรับเปลี่ยนตัวอักษรตัวแรกของคําทุกคําเป็นตัวพิมพ์ใหญ่

ตัวอย่าง เช่น

4.4.3 การแยกและรวมตัวอักษร

     ฟังก์ชันสําหรับแยกและรวมตัวอักษรที่น่าสนใจ มีดังนี้

4.4.3.1 explode()

     explode() เป็นฟังก์ชันสําหรับแยกตัวอักษรออกมาเป็นตัวอักษรย่อยในรูปแบบของอาเรย์ โดยใช้สัญลักษณ์ที่กําหนดเป็นตัวแยก

ตัวอย่าง เช่น

4.4.3.2 implode()

     implode() เป็นฟังก์ชันสําหรับรวมตัวอักษรย่อยๆ มารวมกันเป็นข้อความเดียวโดยจะทํางานตรง กันข้ามกับ explode() ซึ่งสามารถระบุสัญลักษณ์ที่ใช้ในการคั่นระหว่างตัวอักษร ย่อยได้

ตัวอย่าง เช่น

4.4.4 การค้นหาตัวอักษรและตัดคําย่อย

     ฟังก์ชันสําหรับการค้นหาตัวอักษรและการตัดคําย่อย มีดังนี้

4.4.4.1 strpos()

     strpos() เป็นการค้นหาตําแหน่งของคําย่อย ซึ่งจะคืนค่าเป็นตําแหน่งที่ค้นพบเป็นครั้งแรก แต่หากไม่เจอค่าที่ระบุไว้ ฟังก์ชันจะคืนค่าเป็นค่าว่าง (null)

ตัวอย่าง เช่น

4.4.4.2 stipos()

     stipos() เป็นการค้นหาตําแหน่งของคําย่อยเหมือนกันกับ strpos() แต่จะแตกต่าง ตรงที่การค้นหาจะไม่คํานึงถึงตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก

4.4.4.3 strstr()

     strstr() เป็นฟังก์ชันสําหรับการตัดคําเพื่อเลือกเอาเฉพาะตําแหน่งที่ต้องการโดยระบุ คําเริ่มต้นของการเลือกคําย่อยได้ฟังก์ชันจะแยกคําและเริ่มคืนค่าตั้งแต่คําที่กําหนดเป็นต้นไป

ตัวอย่าง เช่น

4.4.4.4 substr()

     substr() เป็นการตัดคําที่ต้องการโดยสามารถเลือกตําแหน่งเริ่มต้น และความยาวของคําที่ต้องการได้

ตัวอย่าง เช่น

4.4.4.5 substr_count()

     substr_count() เป็นฟังก์ชันสําหรับนับคําที่ต้องการว่ามีอยู่กี่คําที่มีรูปแบบของคําตรงกับคําที่ต้องการค้นหา

ตัวอย่าง เช่น

4.4.4.6 md_substr()

     md_substr() เป็นการตัดคําที่มีรูปแบบการตัดคําเหมือนกันกับฟังก์ชัน substr() แต่จะเหมาะกับการตัดคําที่เป็นภาษาไทยมากกว่า เนื่องจากการตัดคําโดยใช้ substr() อาจทําให้เกิดการตัดคําผิดพลาดในกรณีที่มีตัวสระหรือวรรณยุกต์ในระหว่างการตัดคํา ซึ่งจะทําให้การแสดงผลผิดเพี้ยน

4.4.5 การแทนที่ตัวอักษรและตัดช่องว่าง

     ฟังก์ชันสําหรับการแทนที่ตัวอักษร มีดังนี้

4.4.5.1 str_replace()

     str_replace() เป็นฟังก์ชันสําหรับแทนที่ตัวอักษรที่ต้องการด้วยตัวอักษรใหม่ เช่น แทนที่คําไม่สุภาพด้วยเครื่องหมาย **** เป็นต้น

ตัวอย่าง เช่น

4.4.5.2 str_ireplace()

     str_ireplace() เหมือนกันกับฟังก์ชัน str_replace() แต่แตกต่างที่ฟังก์ชันนี้จะไม่สนใจลักษณะตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ 

4.4.5.3 strtr()

     strtr() เป็นการแทนที่ตัวอักษรเหมือนกัน แต่สามารถกําหนดการแทนที่ตัวอักษรได้มากกว่า 1 คํา ซึ่งก่อนการเรียกใช้งานจะต้องมีอาเรย์ที่เป็นแบบ key/value เพื่อระบุคําที่ค้นหา และคําที่แทนที่

ตัวอย่าง เช่น

4.4.5.4 ltrim()

     ltrim() เป็นการตัดค่าว่างที่อยู่ด้านซ้ายทั้งหมดออก

ตัวอย่าง เช่น

4.4.5.5 rtrim()

     rtrim() เป็นฟังก์ชันสําหรับตัดช่องว่างที่อยู่ด้านขวาออกทั้งหมด

4.4.5.6 trim()

     trim() เป็นฟังก์ชันสําหรับตัดช่องว่างทั้งด้านซ้ายและด้านขวาของค่าที่ต้องการ

4.4.5.7 str_pad()

     str_pad() เป็นฟังก์ชันสําหรับการแทนที่ตัวอักษรเพื่อให้มีความยาวตามที่ต้องการ โดยสามารถกําหนดตัวเลข หรือ ตัวอักษรแทนที่ค่าเดิมเพื่อให้ครบตามจํานวนที่กําหนด โดยสามารถกําหนดรูปแบบ STR_PAD_LEFT เพื่อให้เติมตัวอักษรไปทางด้านซ้าย, STR_PAD_RIGHT เพื่อเติมตัวอักษรไปทางด้านขวา และ STR_PAD_BOTH เพื่อเติมตัวอักษรทั้งสองด้าน

ตัวอย่าง เช่น