Fungsi strpos
Fungsi strpos mengembalikan posisi
kemunculan pertama substring dalam string lain
atau false jika substring tidak ditemukan.
Parameter pertama fungsi menerima string
yang akan dilakukan pencarian, parameter kedua
- substring yang harus dicari.
Secara default fungsi mencari dari awal string sampai kecocokan pertama. Awal pencarian dapat diatur dengan parameter ketiga yang opsional - jika ditentukan, maka pencarian akan dimulai bukan dari awal string, tetapi dari posisi yang ditentukan.
Ada juga fungsi stripos, yang
melakukan hal yang sama, tetapi tanpa memperhatikan huruf besar/kecil.
Sintaks
strpos(string $haystack, string $needle, int $offset = 0): int|false
Contoh
Dalam contoh ini fungsi akan mengembalikan posisi karakter pertama
'c'. Ia menempati posisi 2,
karena penghitungan dimulai dari 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Hasil eksekusi kode:
2
Contoh
Dalam contoh ini parameter ketiga ditentukan dan
karena itu pencarian akan dimulai dari posisi ketiga,
dalam hal ini fungsi akan menemukan karakter kedua
'c' dan menampilkan posisinya - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Hasil eksekusi kode:
8
Contoh
Jika substring tidak ditemukan - maka fungsi
akan mengembalikan false. Jika string berada
di awal, maka fungsi akan mengembalikan 0.
Ini dapat menjadi masalah saat membandingkan
melalui bentuk kondisi pendek:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Hasil eksekusi kode (tidak seperti yang kita harapkan):
'---'
Contoh
Lakukan pemeriksaan yang benar pada awal string:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Hasil eksekusi kode:
'+++'
Lihat juga
-
fungsi
strrpos,
yang mengembalikan posisi kemunculan terakhir substring -
fungsi
str_contains,
yang memeriksa kemunculan karakter dalam string -
fungsi
str_starts_with,
yang memeriksa awal string -
fungsi
str_ends_with,
yang memeriksa akhir string -
fungsi
array_search,
yang melakukan pencarian dalam array