strrchr (strrchr มี r ทั้งหมด 3 ตัว ต่างจาก strchr มี r 2 ตัว) ใช้สำหรับค้นหาตัวอักษร หรือ อักขระ ตัวสุดท้ายในข้อความ และคืนค่าเป็นข้อความ นับตั้งแต่ ตัวอักษร หรือ อักขระ ที่ค้นเจอ ไปจนสิ้นสุดข้อความ
ตัวอักษรตัวสุดท้ายในข้อความ คือ
สมมติ $data1="data.ninenik.jpg";
หากใช้คำสั่ง strrchr ค้นหา . (จุด) ในตัวแปร $data1 ค่า .(จุด) ทีได้ จะเป็นตัวสุดท้ายในตัวแปร $data1
รูปแบบการใช้งาน
string strrchr ( string $haystack , mixed $needle )
พารามิเตอร์
haystack คือ ข้อความทั้งหมด สำหรับการค้นหา
needle คือ ตัวอักษร หรือ อักขระ ที่ต้องการค้นหา หากกำหนดมากกว่า 1 ตีวอักษร ฟังก์ชัน จะดูเฉพาะตัวอักษร
ตัวแรกเท่านั้น ซึ่งแตกต่างจาก ฟังก์ชัน strstr ที่จะพิจารณาทั้งสองตัวอักษร
โดย needle หรือ ตัวอักษร หรือ อักขระ ที่ต้องการค้นหา สามารถกำหนดเป็นตัวเลข แทนรหัส ascii ของตัวอักษร
เพื่อใช้สำหรับการค้นหาได้
การคืนค่า
ฟังก์ชันจะคืนค่า ส่วนของข้อความ และค่นค่าเป็น false ถ้าค้นหาไม่พบ
ตัวอย่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $name_file = "aaa.data.ninenik.jpg" ; echo strrchr ( $name_file , "." ); // ค่าที่ได้คือ .jpg $path_file = "/data/product/ninenik.jpg" ; echo strrchr ( $path_file , "/" ); // ค่าที่ได้คือ /ninenik.jpg // แต่หากต้องการ ค่าที่ได้ โดยไม่รวม ตัวอักษร หรือตัวที่่ค้นหา สามารถใช้ร่วมกับ substr ได้ดังนี้ $path_file = "/data/product/ninenik.jpg" ; echo substr ( strrchr ( $path_file , "/" ),1); // ค่าที่ได้คือ ninenik.jpg ?> |
หมายเหตู ฟังก์ชัน strrchr สามารถกำหนด ตัวอักษร หรือ อักขระที่ต้องการหา ได้เพียงตัวเดียวเท่านั้น หากกำหนด
มากกว่าหนึ่งค่า จะนับเฉพาะตัวแรกเท่านั้น
strstr ใช้สำหรับค้นหาตัวอักษร คำ หรือข้อความ ตัวแรกจากข้อความทั้งหมด หากพบค่าดังกล่าว ก็จะทำการคืนค่า
ข้อความนับจากค่าที่ค้นหาเจอ ไปจนสิ้นสุดข้อความทั้งหมด
ตัวแรกของข้อความ คือ
สมมติ $data1="data.ninenik.jpg";
หากใช้คำสั่ง strstr ค้นหา . (จุด) ในตัวแปร $data1 ค่า .(จุด) ทีได้ จะเป็นตัวแรกในตัวแปร $data1
รูปแบบการใช้งาน
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
หมายเหตุ: ฟังก์ชันนี้เป็นลักษณะ case-sensitive กรณีค้นหาแบบ case-insensitive ให้ใช้ stristr() แทน
หากต้องการแค่ตรวจสอบว่ามี หรือไม่มี คำที่ค้นหาหรือไม่ ให้ใช้ strpos() แทน ซึ่งจะทำงานได้เร็ว และใช้หน่วยความจำ memory น้อยกว่า
พารามิเตอร์
haystack คือ ข้อความทั้งหมด สำหรับการค้นหา
needle คือ ตัวอักษร หรือ อักขระ ที่ต้องการค้นหา หากกำหนดมากกว่า 1 ตีวอักษร ฟังก์ชัน จะดูเฉพาะตัวอักษร
ตัวแรกเท่านั้น ซึ่งแตกต่างจาก ฟังก์ชัน strstr ที่จะพิจารณาทั้งสองตัวอักษร
โดย needle หรือ ตัวอักษร หรือ อักขระ ที่ต้องการค้นหา สามารถกำหนดเป็นตัวเลข แทนรหัส ascii ของตัวอักษร
เพื่อใช้สำหรับการค้นหาได้
before_needle // มีตั้งแต่เวอร์ชั่น PHP 5.3.0 และเหนือกว่า
หากกำหนดเป็น TRUE, strstr() จะคืนค่าข้อความก่อน ตัวอักษร หรือค่าค่าที่ค้นหา
การคืนค่า
ฟังก์ชันจะคืนค่า ส่วนของข้อความ และค่นค่าเป็น false ถ้าค้นหาไม่พบ
ตัวอย่าง
1 2 3 4 5 6 7 8 | <?php $email = 'name@ninenik.com' ; $domain = strstr ( $email , '@' ); echo $domain ; // แสดง @ninenik.com $user = strstr ( $email , '@' , true); // มีตั้งแต่เวอร์ชั่น PHP 5.3.0 และเหนือกว่า echo $user ; // แสดง name ?> |