PHP - Slicing String

จิดาภา ก้อนดิน 620710651

Slicing String เป็นการตัดหรือดึงเอาส่วนหนึ่งของสตริงที่ต้องการออก โดยสามารถระบุตำแหน่งเริ่มต้นและจำนวนอักขระที่ต้องการคืนค่ากลับมา

Function

ในภาษา PHP จะใช้ฟังก์ชัน substr() เพื่อดึงส่วนที่ต้องการออกมา จะประกอบด้วย 3 พารามิเตอร์ โดย 2 พารามิเตอร์เป็นค่าบังคับ และอีกหนึ่งพารามิเตอร์เป็นค่าเลือก โดยค่าเริ่มต้นจะเริ่มจาก 0

substr(ชื่อสตริง, ตำแหน่งเริ่มต้น, ความยาวสตริงที่จะตัด) //ตำแหน่งเริ่มต้นที่ 0

ตัวอย่าง

$x = "Hello World!";
echo substr($x, 6, 5); //เลือกสตริง x ตำแหน่งที่ 6 ความยาว 5 ตัวอักขระ

ผลลัพธ์

World

เราจะทำการเปรียบเทียบความแตกต่างของฟังก์ชัน substr() ของแต่ละภาษา โดยจะเปรียนเทียบกับภาษา c , Java , Python, JavaScript

$x = "Hello World!";
echo substr($x, 2, 5);

ผลลัพธ์

llo W
  • PHP : จะเลือกตัวอักขระตั้งแต่ตำแหน่งที่ 2 จำนวน ความยาว 5 ตัว นับจากตัวตำแหน่งที่ต้องการ

  • C : จะเลือกตำแหน่งที่ 2 ของสริงที่รับมา ถ้าต้องการตัวอักขระหลายตัวอาจจะต้องใช้ loop เข้ามาช่วย โดยจะทำการเก็บอักขระไว้ใน Array ก่อนจากนั้นจึงระบุตำแหน่งของอักขระที่ต้องการ ด้วย []

  • Java : จะเลือกตัวอักขระตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 ของสตริงโดยจะใช้ฟังก์ชัน substring()

  • Python : จะเลือกตัวอักขระตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 สามารถเลือกตำแหน่งที่่ต้องการได้โดยการเลือก ตำแหน่งที่ต้องการ ในที่นี้หมายถึงตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 ของสตริง

  • JavaScript : จะเลือกจากตำแหน่งที่0 ถึงตำแหน่งที่ 6 และเลือกจากตำแหน่งที่ 6 จนถึงตำแหน่งสุดท้าย โดยคำสั่ง let newStr = str.slice(beginIndex[, endIndex]);

Length

  • Positive Length : จะคืนค่าสตริงตามตำแหน่งที่ระบุโดยเริ่มจากตำแหน่งเริ่มต้นไปจนถึงความยาวของสตริง โดยจะมีค่าเป็นค่าบวกเสมอ ตัวอย่างเช่น

ผลลัพธ์

  • Negative Length : เป็นการระบุความยาวเป็นค่าลบ เพื่อดึงอักขระจากที่เริ่มต้นจากท้ายสุดของสตริง ตัวอย่างเช่น

  • จะเรียกใช้สตริงจาก $x โดยดึงค่าจากตำแหน่งที่ 5 ไปจนถึงตำแหน่งที่นับจากข้างหลังมา 3 ตัว นั่นก็คือตัว y

ผลลัพธ์

  • จะเรียกใช้สตริงจาก $x โดยดึงค่าจากตำแหน่งที่ 5 ไปจนถึงตำแหน่งที่นับจากข้างหลังมา 3 ตัว นั่นก็คือตัว y

ผลลัพธ์

เขียนได้อีกแบบคือ

ผลลัพธ์

  • ในกรณีนี้หมายถึง ตำแหน่งที่ 5 นับจากตัวสุดท้าย ในตัวอย่างนี้คือตัว o จำนวน 3 ตัว นับจากตำแหน่งเริ่มต้น

เขียนได้อีกแบบคือ

หรือการระบุตำแหน่งเริ่มต้นเป็นค่าลบ ตัวอย่างเช่น

ผลลัพธ์

  • ในกรณีนี้หมายถึง ตำแหน่งที่ 5 นับจากตัวสุดท้าย ในตัวอย่างนี้คือตัว o จำนวน 3 ตัว นับจากตำแหน่งเริ่มต้น

เขียนได้อีกแบบคือ

Return Values

จะคืนค่าได้สองประเภทคือ

  • ส่งคืนส่วนที่แยกออกมาของสตริงหากประสบความสำเร็จ

  • ส่งคืน FALSE หรือสตริงว่าง หากการทำงานล้มเหลว

Reference

  • ใช้ศึกษาเรื่องความหมายของ Slicing และตัวอย่าง Function และ Negative Length

W3Schools. (n.d.). PHP slicing strings. W3Schools. https://www.w3schools.com/php/php_string_slicing.asparrow-up-right. Retrieved on October 10, 2024

  • ใช้ศึกษาตัวอย่างของหัวข้อและตัวอย่างของ Length

PHP. (n.d.). substr. PHP. https://www.php.net/manual/en/function.substr.phparrow-up-right. Retrieved on October 10, 2024

  • ใช้ศึกษา Syntax ของ Slicing string และการ Return

Lenka, C. (2023, June 22). PHP substr() function. GeeksforGeeks. https://www.geeksforgeeks.org/php-substr-function/arrow-up-right. Retrieved on October 10, 2024

  • ใช้ศึกษาตัวอย่างของภาษา C

W3Schools. (n.d.). Python slice strings. W3Schools. https://www.w3schools.com/python/gloss_python_string_slice.asparrow-up-right. Retrieved on October 10, 2024

  • ใช้ศึกษาตัวอย่างของภาษา Java

W3Schools. (n.d.). Java string substring() method. W3Schools. https://www.w3schools.com/java/ref_string_substring.asparrow-up-right. Retrieved on October 10, 2024

  • ใช้ศึกษาตัวอย่างของภาษา Python

W3Schools. (n.d.). C strings. W3Schools. https://www.w3schools.com/c/c_strings.phparrow-up-right. Retrieved on October 10, 2024

Video Presentation

Slide

Last updated