- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
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() แทนได้ครับ โดยการใช้งานเหมือนกันทุกประการ
ความคิดเห็น
แสดงความคิดเห็น