Fungsi strpos() Pada PHP

strpos() adalah fungsi PHP yang berfungsi untuk menemukan posisi (indeks) dari kemunculan pertama sebuah substring di dalam sebuah string. Jika substring ditemukan, fungsi ini akan mengembalikan indeksnya (dengan nilai awal indeks adalah 0). Jika substring tidak ditemukan, fungsi ini akan mengembalikan false.

Sintaks Dasar

strpos(
    string $haystack,
    string $needle,
    int $offset = 0
): int|false
    

Nilai kembalian berupa int atau false: integer untuk posisi kemunculan pertama $needle jika berhasil, false jika tidak ditemukan.

Catatan Penting: Karena strpos() bisa mengembalikan 0 (posisi awal string), kita harus menggunakan === atau !== untuk membedakan antara nilai integer 0 dan false.

Contoh Penggunaan

1. Mencari Indeks Teks di dalam String


    

Pada contoh di atas, "Halo Dunia" memiliki panjang 9 karakter (indeks 0 sampai 8). Kata "Dunia" dimulai di indeks 5. Maka strpos() mengembalikan nilai 5.

2. Menggunakan === untuk Validasi Tepat

Sangat penting untuk membedakan 0 dengan false. Misalnya jika substring berada di indeks 0, strpos() akan mengembalikan 0, bukan false. Lihat contoh berikut:


    

Jika kita menggunakan if ($pos == false) (dengan perbandingan ganda =), hasilnya akan salah, karena 0 == false bernilai true di PHP. Oleh sebab itu, gunakan ===.

3. Penerapan Parameter $offset

Parameter $offset berguna ketika kita ingin memulai pencarian tidak dari indeks 0. Misalnya, kita sudah menemukan satu kemunculan substring, lalu ingin mencari kemunculan berikutnya.

";
    if ($nextPos !== false) {
        echo "Posisi kedua: " . $nextPos;
    } else {
        echo "Tidak ada kemunculan kedua.";
    }
} else {
    echo "Kata 'pisang' tidak ditemukan sama sekali.";
}
?>
    

Pada contoh di atas, kita mencari kata "pisang" pertama kali, lalu menggunakan parameter $offset agar pencarian kedua dimulai setelah posisi pertama ditambah 1.

4. Perbandingan dengan stripos() (Case-Insensitive)

strpos() bersifat case-sensitive, artinya membedakan huruf besar dan kecil. Jika ingin mengabaikan perbedaan huruf besar/kecil, gunakan stripos(). Lihat contoh:


    

Pada contoh tersebut, strpos() gagal menemukan "world" karena dalam $text tertulis "World" dengan huruf kapital W. Namun, stripos() berhasil menemukannya di indeks 6.

5. Mencari Pola Tertentu dan Memvalidasi URL atau Email

Salah satu kegunaan strpos() ialah memeriksa apakah suatu string mengandung substring tertentu. Misalnya, memvalidasi apakah sebuah alamat email memiliki "@" di dalamnya.


    

Contoh lain, jika kita ingin tahu apakah suatu URL mengandung "https://" di depannya.


    

Di sini, kita mengecek apakah substring "https://" muncul di indeks 0.

Tips dan Best Practice

Kesimpulan

Fungsi strpos() dalam PHP adalah alat sederhana namun sangat bermanfaat untuk menemukan posisi awal sebuah substring. Pemahaman mendalam tentang perilaku pengembalian nilai (0 atau false) sangat krusial agar hasil pengecekan akurat. Selain itu, dukungan parameter $offset memberikan fleksibilitas untuk mencari kemunculan substring selanjutnya. Jika perlu pencarian yang tidak membedakan huruf besar-kecil, gunakan stripos(). Dengan memanfaatkan strpos() secara tepat, pemrosesan string akan menjadi lebih mudah dan terstruktur.


Baca Juga :