ฟังก์ชั่นที่ต้องเรียนรู้เกี่ยวกับสตริง ตัวเลข วันที่เวลา ในภาษา PHP มีมากมาย ทีน่าสนใจและน่าติดตาม เราจำเป็นต้องเรียนรู้ฟังกชั่นที่สำคัญๆและใช้บ่อยๆเอาไว้
ฟังก์ชั่นเกี่ยวกับสตริงย่อย
strstr(สตริงย่อย, สตริงหลัก) เลือกเอาเฉพาะสตริงนับตั้งแต่สตริงย่อยที่พบเป็นต้นไป ดังตัวอย่างนี้
$str = “You will never walk alone”;
$substr = “walk”;
$s = strstr($str, $substr); //ผลลัพธ์ได้มาเป็น walk alone
substr(สตริงหลัก, ตำแหน่งเริ่มต้น [,ความยาว]) เป็นคำสั่งคัดเอาสตริงย่อยโดยกำหนดตำแหน่งเริ่มต้น และความยาวที่ต้องการ ลักษณะของการกำหนดอาร์กิวเมนต์คือ
หากเรามกำหนดความยาว หรือจำนวนอักขระ โปรแกรมจะทำดีฟอลต์ด้วยการคัดเอาสตริงทั้งหมดนับตั้งแต่ ตำแหน่งเริ่มต้นไปจนจบสตริง
หากกำหนดตำแหน่งเริ่มต้นเป็นบวกการคัดลองสตริงจะเริ่มที่ตำแหน่งนั้น
หากกำหนดตำแหน่งเริ่มต้นเป็นลบการคัดลอกสตริงจะเริ่มที่ตำแหน่ง => ความยาว – ตำแหน่งเริ่มต้นที่กำหนด
หากกำหนดค่าความยาวเกินกว่าความยาวของสตริงโปรแกรมจะคัดเอาจนถึงแค่จุดสิ้นสุดสตริง ดังตัวอย่างเช่น
$str = “ABCDEFGHIJ”;
$sub1 = substr($str,3); //DEFGHIJ
$sub2 = substr($str,3,2); //DE
$sub3 = substr($str,-3); //HIJ
substr_count(สตริงหลัก,สตริงย่อย) ทำงานโดยการนับจำนวนคำที่มีอยู่ในสตริง โดยรูปแบบตัวพิมพ์ต้องตรงกันแบบเป๊ะๆด้วย
$s = “aaabbaaa AAAbbb aAaaaa”;
$c = substr_count($s, “aaa”); // ผลลัพธ์คือ 3
ฟังก์ชั่นในการค้นหาสตริง
strpo(สตริงหลัก,สตริงย่อย) ค้นหาตำแหน่งของสตริงย่อย ซึ่งค่าที่คืนกลับมาจะเป็นตำแหน่งที่ค้นพบสตริงย่อยครั้งแรก แต่หากว่าไม่พบ จะคืนค่า null กลับมาโดยที่ลักษณะของตัวพิมพ์จะต้องเหมือนกัน เช่น
$str = “no pain no gain”;
$pos = strpos ($str, “no”); //0
$pos = strpos($str, “in”); //5
$pos = strpos($str, “No”); //null ไม่เจอค่า เพราะต้องตรงทั้งตัวพิมพ์เล็กพิมพ์ใหญ่
ฟังก์ชั่นในการแทนที่สตริง
เป็นฟังก์ชั่นในการแทนที่สตริงด้วยค่าที่กำหนด
str_replace(สตริงที่จะค้นหา, สตริงที่จะใช้แทนที่, สตริงหลัก) การทำงานคือการแทนที่สตริงย่อยด้วยสตริงย่อยใหม่ที่ต้องการ หากสตริงย่อยที่เราต้องการค้นหามีมากกว่า 1 ครั้ง ก็จะถูกแทนที่ทั้งหมด
$str = “no pain no gain”;
$substr_old = “no”;
$substr_new = “more”;
$newstr = str_replace($substr_old, $substr_new, $str);
echo $newstr; //more pain more gain