ความแตกต่าง ระหว่าง ฟังก์ชัน strstr กับ strrchr และ การประยุกต์ ใช้งาน
26 March 2010strrchr (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 ถ้าค้นหาไม่พบ
ตัวอย่าง
<?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 ถ้าค้นหาไม่พบ
ตัวอย่าง
<?php $email = 'name@ninenik.com'; $domain = strstr($email, '@'); echo $domain; // แสดง @ninenik.com $user = strstr($email, '@', true); // มีตั้งแต่เวอร์ชั่น PHP 5.3.0 และเหนือกว่า echo $user; // แสดง name ?>
บทความคนเข้าอ่านวันนี้
03 Jun 09 สร้างระบบ slide เลื่อนซ้าย ขวา ด้วย jquery อย่างง่าย อ่าน 13239 06 Dec 11 การใช้งาน css จัดตำแหน่ง ซ้อนข้อความบนรูปภาพอย่างง่าย อ่าน 683 30 Oct 09 ฟังก์ชัน PHP แปลงตัวเลขอาราบิก เป็น ตัวเลขไทย อย่างง่าย อ่าน 1155 28 Sep 10 สร้างคำสั่ง สำหรับปุ่มควบคุม กำหนดเอง ใน google map อ่าน 1507 26 Mar 09 กำหนดข้อความเริ่มต้นให้กับ input text ด้วย jquery อย่างง่าย อ่าน 3200 29 Oct 10 แนะนำ jQuery CountDown plugin สวยๆ สำหรับประยุกต์ใช้งาน อ่าน 2711 26 Oct 10 แนะนำ autocomplete ใน jQuery ui กับการประยุกต์ใช้งาน อ่าน 1963 18 Aug 10 ใช้ php ดึงรูปภาพ จากโฟลเดอร์ มาแสดง พร้อม เทคนิค แบ่งหน้า อ่าน 4488 23 Nov 09 ทำการ cache หน้าเว็บไซต์ด้วย php class อย่างง่าย อ่าน 2076 15 Oct 08 สร้างลิ้งค์มีรูปภาพแสดงนามสกุลไฟล์ อ่าน 2649 25 Sep 08 ปิดหน้า Browser โดยไม่ต้องมีข้อความยืนยัน อ่าน 3649 08 Feb 11 แท็บเมนู tab menu แนวตั้งอย่างง่าย ด้วย jQuery อ่าน 3902 30 Sep 08 สร้างฟังก์ชัน PHP แยกตัวเลขจากข้อความ อย่างง่าย อ่าน 1756 21 Jul 10 เทคนิค การเพิ่ม ลบ แถว ในตาราง รายการข้อมูล ด้วย jQuery อย่างง่าย อ่าน 4562 18 Oct 08 สร้างเมนูแนวตั้ง ด้วย CSS ไม่ต้องใช้ตารางอย่างง่าย อ่าน 3968 25 Sep 08 ป้องกันคนคลิกขวา และ ป้องกันคน select ข้อความ อ่าน 1885 25 Sep 08 คำสั่ง SQL เพื่อสุ่มข้อมูลมาแสดง อ่าน 3750 19 Mar 11 การสร้างปุ่ม ล็อกอิน เว็บไซต์ แบบไม่แสดงรูป ด้วย facebook อ่าน 1793 19 Nov 09 สร้าง scrollbar แนวตั้ง จากรูปภาพ ด้วยเทคนิค css sprite image และ jQuery อ่าน 3662 28 May 10 แสดง การแจ้งเตือน ให้เปิด หรือ บันทึกไฟล์ที่ดาวน์โหลด ด้วย php อ่าน 1201
