เรียนรู้ฟังก์ชั่นเกี่ยวกับสตริง ตัวเลข วันที่เวลา ในภาษา PHP

ฟังก์ชั่นที่ต้องเรียนรู้เกี่ยวกับสตริง ตัวเลข วันที่เวลา ในภาษา 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