ความแตกต่าง ระหว่าง ฟังก์ชัน strstr กับ strrchr และ การประยุกต์ ใช้งาน

26 March 2010

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 ถ้าค้นหาไม่พบ

ตัวอย่าง
 

<?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
?> 

 








บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

28 May 10 แสดง การแจ้งเตือน ให้เปิด หรือ บันทึกไฟล์ที่ดาวน์โหลด ด้วย php อ่าน 1201 18 Mar 11 ทบทวน htaccess สำหรับ ให้ url เว็บมี www ด้านหน้าเสมอ อ่าน 1188 30 Oct 09 ฟังก์ชัน PHP แปลงตัวเลขอาราบิก เป็น ตัวเลขไทย อย่างง่าย อ่าน 1155 02 Sep 10 สร้าง ฟังก์ชัน ค้นหาโดเมน check domain ว่าง อย่างง่าย ด้วย php อ่าน 1150 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 1143 19 Jan 11 อักขระคั่น (Delimiters) ในการใช้งาน Regular Expressions ของ PHP อ่าน 1039 21 Jan 11 การใช้งาน Meta characters ใน Regular Expressions ของ PHP อ่าน 1025 09 Nov 11 แนวทางการสร้างเมนูหลายภาษา อย่างง่ายด้วย php และ javascript อ่าน 925 14 Oct 11 การเชื่อมต่อ facebook และ ล็อกอิน แบบ popup ด้วย php sdk v.3.1.1 อ่าน 825 06 Jun 11 แนวทางการกำหนด expired header ให้กับรูปภาพ ด้วย php อย่างง่าย อ่าน 739 13 Oct 11 แนะนำการใช้งาน การเชื่อมต่อ facebook ด้วย php sdk v.3.1.1 อ่าน 673

บทความคนเข้าอ่านวันนี้

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
จำนวนผู้เยี่ยมชม 777905
คน 2012 © Copyright ninenik.com. All rights reserved.