3 วิธีในการตรวจสอบว่าสตริง PHP มี Another . หรือไม่
เผยแพร่แล้ว: 2022-02-13อาจเป็นส่วนที่น่าผิดหวังที่สุดในการเขียนโค้ด PHP เพื่อดูว่าสตริง PHP มีสตริงอื่นหรือไม่ แต่ไม่ต้องกังวลไป ในบทช่วยสอนนี้ เราจะแสดงให้เห็นว่าการระบุสตริงย่อยนั้นง่ายเพียงใดโดยใช้หลายวิธี นอกจากการจัดแสดงแล้ว เรายังจะพูดถึงข้อดีและข้อเสียของพวกเขาด้วย โปรดทราบว่ามี 'การรูท' สตริงย่อยมากกว่าหนึ่งวิธี
สารบัญ
ข้อควรพิจารณาสองสามข้อหาก PHP String มี Another
ข้อผิดพลาดหลักประการแรกในการทดสอบสตริงย่อยคือการใช้ตัวดำเนินการเปรียบเทียบที่ไม่ถูกต้อง ตัวอย่างเช่น หากคุณใช้ != เพื่อตรวจสอบสตริงย่อย คุณอาจลงเอยด้วยสิ่งที่เรียกว่าผลบวกลวง ในกรณีนี้ ควรใช้ !== ซึ่งเปรียบเทียบประเภทดังกล่าวจะดีกว่า
หากคุณประสบปัญหาในการค้นหาว่าตัวดำเนินการใดที่จะใช้ในบริบทใดบริบทหนึ่ง คุณสามารถดูบทแนะนำ PHP นี้สำหรับข้อมูลโดยละเอียดเกี่ยวกับตัวดำเนินการและฟังก์ชันของตัวดำเนินการ คุณยังจะพบตัวอย่างโค้ดที่อธิบายสำหรับโปรแกรมเมอร์มือใหม่อีกด้วย
ดังที่เราได้กล่าวไปแล้ว มีหลายวิธีในการค้นหาว่าสตริงมีคำหรือสตริงอื่นหรือไม่ จนถึงปัจจุบันมีห้าวิธี แต่มีเพียงสามวิธีแรกเท่านั้นที่ทำได้รวดเร็ว
- stripos () สำหรับตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เพื่อตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
- Regex สำหรับสตริงในสตริง
- strstr () สำหรับสตริงในสตริงอื่น
1. การตรวจสอบสตริงย่อยโดยใช้แถบอ้างอิงสตริงที่คำนึงถึงขนาดตัวพิมพ์ ()
วิธีที่รวดเร็วที่สุดและไม่ยุ่งยากในการตรวจสอบว่าสตริงมีอีกอันหนึ่งหรือไม่คือการใช้ฟังก์ชัน stripos() ซึ่งโดยทั่วไปจะค้นหาว่าสตริงมีคำเฉพาะหรือไม่ สิ่งที่เกิดขึ้นคือฟังก์ชันจะคืนค่า TRUE หากสตริงมีสตริงย่อย/คำ หรือ FALSE หากสตริงนั้นไม่มีทั้งสองรายการ
เพื่อช่วยให้คุณเห็นภาพว่า stripos() ทำงานอย่างไร ต่อไปนี้คือตัวอย่าง
$first_string = “ฉันแก่กว่าคุณ 10 ปี”
$sought_word= “ปี”
$character = “ฉัน”
$targeted_substring = “10 ปี”
ถ้า (strpos ($first_String, $sought_word) !== false {
echo 'คำนี้ “ '.$sought_word.'” อยู่ในสตริง.';
}
(นี่จะบอกคุณว่าโลก "ปี" สามารถพบได้ในสตริงนี้โดยเฉพาะ)
if (stripos ($first_string, $character) !== false) {
echo 'อักขระนี้ " '.$character.' “สามารถพบได้ในสตริงนี้โดยเฉพาะ';
}
(บรรทัดเหล่านี้จะบอกคุณว่า "ฉัน" อยู่ในสตริงที่กำหนด)
if (strpos ($first_string, $targeted substring) !== false {

echo 'สตริงย่อยที่เป็นเป้าหมาย “ '.targeted_substring.'” สามารถพบได้ในสตริงนี้”
(บรรทัดเหล่านี้จะบอกคุณว่าสตริงย่อย "5 ปี" สามารถพบได้ในสตริง)
if (strpos($first_string, $character) != false) {
echo 'อักขระนี้ " '.$character.' “ปรากฏในสายนี้”
} อื่น {
echo 'อักขระนี้ " '.$character.' “ ไม่ปรากฏในสตริงนี้
(บรรทัดเหล่านี้จะบอกคุณว่าไม่พบอักขระ "I" ในสตริงนั้น)
- ที่เกี่ยวข้อง: 5 หลักสูตรการพัฒนาเว็บออนไลน์ฟรีที่ดีที่สุด
- 5 ที่ที่ดีที่สุดในการเรียนรู้การออกแบบเว็บ
2.Regex สำหรับสตริงย่อยในสตริง
นิพจน์ทั่วไปหรือที่รู้จักว่า Regex เหมาะสมกว่าสำหรับการค้นหารูปแบบที่ซับซ้อนภายในสตริงย่อยที่กำหนด
ต่อไปนี้คือตัวอย่างวิธีค้นหาสตริงย่อยโดยใช้ฟังก์ชันที่กำหนดไว้ในตัวอย่างก่อนหน้า
$first_string = “ฉันแก่กว่าคุณ 10 ปี”
$sought_word= “ปี”
$character = “ฉัน”
$targeted_substring = “10 ปี”
ถ้า (preg_match('/years/', $first_string)) {
echo 'คำว่า “ '.$sought_word.' “สามารถพบได้ในสตริงนี้.';
}
(บอกผู้ใช้ว่าคำว่า "ปี" อยู่ในสตริงนั้น)
if (preg_match('/I/', $first_string)) {
echo 'อักขระ "'.$ character.; “ปรากฏในสตริงนี้. ;
}
(บอกคุณว่า “ฉัน” ปรากฏในสตริงของคุณ)
ถ้า (preg_match('/10 ปี/', $first_string)) {
echo 'สตริงย่อยนี้: '.$targeted_substring.' “แสดงในสตริงที่ให้มา'
}
(บอกคุณว่าสตริงย่อยที่กำหนดเป็น "10 ปี" ปรากฏในสตริงที่คุณประกาศ)
3. Strstr() ทำหน้าที่ค้นหาสตริงย่อยในสตริง
ฟังก์ชัน strstr () ใช้งานได้หลากหลาย หมายความว่าสามารถใช้เพื่อค้นหาสตริงย่อย อักขระ และคำภายในสตริงเฉพาะ โดยทั่วไปแล้วสิ่งที่ทำคือการส่งคืนเฉพาะส่วนที่มีสตริงแรก ตั้งแต่สตริงย่อย/คำที่เกิดขึ้นครั้งแรกไปจนถึงจุดสิ้นสุด ต่อไปนี้คือตัวอย่างที่จะช่วยให้คุณทราบวิธีการทำงานของฟังก์ชัน
ทำงาน
$first_string = “ฉันแก่กว่าคุณ 10 ปี”
$sought_word= “ปี”
$character = “ฉัน”
$targeted_substring = “10 ปี”
ถ้า (strstr($first_string, $sought_word) !==false) {
echo 'คำว่า “ '.$sought_word.'” แสดงในสตริง
}
(บอกคุณว่า "ปี" ปรากฏขึ้นในสตริง)
if (strstr($first_string, $character) !==false) {
echo 'The character” '$character.'” จะแสดงขึ้นในสตริงที่กำหนด';
}
(บอกผู้ใช้ว่าอักขระ "I" ปรากฏในสตริง)
ถ้า (strstr($first_string, $targeted_substring) !==false) {
echo 'สตริงย่อย “'.$targeted_substring.; “ ปรากฏขึ้นในสตริง.';
}
บทสรุป
พวกคุณทำได้อยู่แล้ว – สามวิธีง่ายๆ ในการค้นหาว่าสตริงที่คุณกำลังทดสอบมีสตริงย่อยหรือไม่ อีกครั้ง ระวังตัวดำเนินการ และอย่าลืมทดสอบสตริงของคุณโดยใช้มากกว่าหนึ่งวิธีเพื่อหลีกเลี่ยงผลลัพธ์ที่เป็นเท็จ
หากคุณต้องการเรียนรู้ PHP หรือภาษาใด ๆ ฉันขอแนะนำให้เรียนหลักสูตรออนไลน์จากแพลตฟอร์มการเรียนรู้ออนไลน์ชั้นนำอย่าง Udemy ซึ่งให้หลักสูตรประเภทใดก็ได้ในราคาที่ถูกกว่ามาก คุณสามารถอ่านรายละเอียดทั้งหมดเกี่ยวกับ Udemy คุณยังสามารถตรวจสอบหน้าคูปองส่วนลด Udemy ของเราสำหรับข้อเสนอล่าสุด
หากคุณชอบบทแนะนำเกี่ยวกับวิธีการตรวจสอบ สตริง PHP มีสตริง อื่น โปรดแชร์ ต้องการคำแนะนำเพิ่มเติม โปรดติดตาม whatvwant บน Facebook, Twitter และ YouTube