Tutorial kali ini akan membahas bagaimana cara mencari posisi string di PHP dengan strpos()
. Dalam banyak kasus, mencari sebuah posisi string atau sederhananya mencari posisi karakter pada sebuah string atau kata atau kalimat dapat digunakan untuk menentukan suatu kondisi pada proses tertentu untuk menentukan keputusan suatu kondisi.
Cara untuk mencari posisi sebuah string didalam string dengan PHP yaitu menggunakan fungsi strpos()
. Berikut ini adalah deskripsi singkat tentang fungsi strpos()
.
strpos(string $haystack, string $needle, int $offset = 0): int|false
Code language: PHP (php)
Fungsi strpos()
memiliki beberapa parameter, berikut ini penjelasan singkatnya:
$haystack
adalah string atau kata untuk dicari.$needle
adalah nilai string yang harus dicari.$offset
adalah bilangan bulat yang digunakan untuk menentukan darimana (index) proses pencarian dimulai.
$offset
dapat berupa nilai positif atau negatif. Jika $offset
bernilai positif maka fungsi strpos()
akan mulai proses pencarian dari nilai $offset
hingga akhir string.
Namun jika $offset
merupakan nilai negatif, maka fungsi strpos()
memulai proses pencarian dari posisi paling akhir sebuah string.
Jika fungsi strpos()
tidak menemukan $needle
di $haystack
, maka fungsi strpos()
akan mengembalikan nilai false
.
Contoh penggunaan fungsi strpos()
Mari kita coba beberapa contoh penggunaan strpos() agar lebih mudah dipahami.
1. Mencari suatu kata dengan strpos()
Berikut ini adalah contoh dimana kita akan mencari kata “PHP” pada sebuah kalimat “Belajar PHP”, dimana kita ingin mengetahui kata PHP berada di indeks berapa.
<?php
$string = 'Belajar PHP';
echo strpos($string, 'PHP'); // Output: 8
Code language: HTML, XML (xml)
Pada kode diatas akan menghasilkan nilai keluaran “8”, dimana ternyata kata “PHP” berada di indeks 8 pada sebuah string “Belajar PHP”.
2. Menentukan offset pada fungsi strpos()
Berikut ini adalah penggunaan strpos()
dengan menentukan parameter $offset
, mencari kata “PHP” didalam kalimat “PHP Belajar PHP”.
<?php
$string = 'PHP Belajar PHP';
echo strpos($string, 'PHP', 3); // Output: 12
Code language: HTML, XML (xml)
Kode diatas penghasilkan keluaran 12 dari kata yang dicari, kenapa 12? karena kata PHP didepan akan dilewati dan akan dimulai dari index 3, maka fungsi strpos()
akan mencari kata didepan index 3 tersebut.
3. Mengkombinasikan dengan kondisi
Dalam beberapa kasus, terkadang kita tidak perlu tahu ada di indeks berapa kata string yang ingin kita cari, yang penting bahwa kata yang dicari pada string “ada” atau “tidak”. Kita bisa gunakan kondisi, misalnya.
<?php
$string = 'Belajar PHP';
$search = 'PHP';
$position = strpos($string, $search);
if ($position) {
echo 'Kata ' . $search . ' ditemukan';
} else {
echo 'Tidak ditemukan';
}
Code language: HTML, XML (xml)
Kode diatas akan menghasilkan..
Kata PHP ditemukan
Kondisi diatas akan bernilai true
karena “PHP” berada di indeks terakhir pada string, namun jika kata PHP berada di depan yang artinya akan ditemukan di indeks 0, maka kondisi diatas akan bernilai false
karena PHP akan menerjemahkan 0 sebagai false
, meskipun kata PHP ada di kalimat “PHP Belajar”.
Baca juga: Memotong Kata Di PHP Dengan Fungsi substr()
Untuk menangani kasus tersebut kita bisa menggunakan tipe true
atau false
dan dengan operator perbandingan identik yaitu ===
atau !==
, sebagai contoh.
<?php
$string = 'PHP Belajar PHP';
$search = 'PHP';
$position = strpos($string, $search);
if ($position !== false) {
echo 'Kata ' . $search . ' ditemukan di indeks ' . $position;
} else {
echo 'Tidak ditemukan';
}
Code language: HTML, XML (xml)
Output:
Kata PHP ditemukan di indeks 0
Case-sensitive
Menggunakan strpos()
harus juga memperhatikan besar-kecil nya huruf yang dicari, karena bersifat case-sensitive, yang artinya string yang dicari harus tepat sesuai dengan string yang tersedia. Sebagai contoh:
<?php
$string = 'PHP Belajar PHP';
$position = strpos($string, 'php');
var_dump($position); // Output: bool(false)
Code language: HTML, XML (xml)
kode diatas akan menghasilkan nilai keluaran false, karna kata “php” tidak ditemukan didalam kalimat “PHP Belajar PHP”.
Demikian tutorial Mencari String Di PHP Menggunakan strpos().
Ringkasan
- Gunakan fungsi
strpos()
saat ingin mencari indeks kata pada suatu string. - Perhatikan penggunaan case-sensitive pada fungsi
strpos()
.