STRPOS() PHP ฟังก์ชั่นสำหรับการค้นหาตำแหน่งของคำในข้อความ




ฟังก์ชั่นสำหรับค้นหาคำในข้อความในภาษา PHP นั้นเราจะใช้ฟังก์ชั่นชื่อ 

STRPOS("ข้อความ","คำที่ต้องการค้นหา","ตำแหน่งเริ่มต้น");

ตัวอย่างการใช้งาน

<?php

$str = "My Name Is Computer";

echo strpos($str,'Name');

?>

จะได้ผลลัพธ์ออกมาเป็น 3 เพราะฟังก์ชั่นเจอ N ตัวแรกที่ตำแหน่งที่ 3

ฟังก์ชั่น strpos จะมองข้อความที่พิมพ์ด้วยตัวเล็ก ตัวใหญ่ เป็นคนละตัวกันนะครับ case-sensitive

ข้อควรระวังของฟังก์ชั่นนี้คืออย่าเขียนแบบนี้นะครับ

<?php

$system = 'Windows Linux Android iOS';

if (strpos($system, 'Windows')) {
    echo 'Windows OS.';
} else {
    echo 'Not Windows OS';
}

?>

หากเราเขียนแบบข้างต้นโดยค้นหาคำว่า Windows จะปรากฏว่าเข้าเงื่อนไข else ตลอด เพราะว่าฟังก์ชั่น strpos จะคืนค่าตำแหน่งที่ 0 กลับมาให้ ทำให้ฟังก์ชั่น if คิดว่าเป็นค่า false ทำให้เข้าเงื่อนไขถัดไปตลอด

วิธีแก้ไขหากต้องการเขียน Code แบบนั้นจริงๆ ให้เขียนเช็คเงื่อนไขแบบนี้แทนครับ

<?php

$system = 'Windows Linux Android iOS';

if (strpos($system, 'Windows') == false) {
    echo 'Windows OS.';
} else {
    echo 'Not Windows OS';
}

?>

จากที่กล่าวมาแล้วนะครับว่า strpos เป็นฟังก์ชั่นแบบ case-sensitive ตัวอักษรใหญ่เล็กคนละตัวกัน หากไม่ต้องการใช้งานเรื่องตัวเล็กตัวใหญ่ ก็สามารถใช้ฟังก์ชั่น stripos() แทนได้ครับ โดยการใช้งานเหมือนกันทุกประการ

ความคิดเห็น