strpos() function PHP

strpos() function berguna untuk menghasilkan posisi sebuah substring yang cocok paling pertama di dalam sebuah string (case sensitive).

Syntax

mixed strpos(string $haystack, mixed $needle, int $offset)

Parameter

Parameter Penjelasan
haystack Parameter ini wajib ada. String yang ingin diproses.
needle Parameter ini wajib ada. Substring yang ingin dicocokkan.
offset Parameter ini pilihan. Posisi batas awal string yang ingin diproses. Memiliki beberapa pilihan, yaitu:

  • 0 (Default). Posisi batas awal berada pada character pertama string yang artinya seluruh string akan diproses (mulai dari awal sampai akhir string).
  • Positif. Posisi batas awal dihitung mulai dari awal string ke akhir string dengan character paling awal string adalah 0, setelahnya adalah 1 dan seterusnya sampai akhir string.

Parameter ini tidak bisa diisi oleh angka negatif.

Catatan

strpos() function menghasilkan posisi substring (parameter needle) yang ada di dalam sebuah string (parameter haystack).

Jika di dalam string (parameter haystack) ada lebih dari satu parameter needle maka hanya parameter needle pertama yang digunakan.

Contoh, kita mencari posisi substring [xx] di dalam string [axxbxxc]. Di dalam string tersebut ada dua buah substring [xx] sehingga hanya posisi substring [xx] pertama yang dihasilkan.

Jika substring yang dicocokkan tidak ditemukan di dalam string maka strpos() function akan menghasilkan FALSE.

Jika parameter offset digunakan maka string yang diproses akan dibatasi mulai dari titik parameter offset sampai akhir string.

Urutan posisi di dalam string tidak dimulai dari 1 melainkan dari 0.

strpos() function merupakan case sensitive atau memperlakukan huruf besar dan kecil dengan berbeda (ABC tidak sama dengan abc).

strpos() function merupakan binary safe.

Contoh

Berikut ini adalah contoh strpos() function mencari posisi sebuah huruf:

Code PHP 1:

<?php
$str = "Selamat Pagi!";
$substr = "a";

$posisi_substr = strpos($str, $substr);
echo "Posisi substring = " . $posisi_substr;
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring = 3

Berikut ini adalah contoh strpos() function mencari posisi sebuah kata:

Code PHP 2:

<?php
$str = "Selamat Pagi!";
$substr = "Pagi";

$posisi_substr = strpos($str, $substr);
echo "Posisi substring = " . $posisi_substr;
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring = 8

Pada contoh di atas, posisi yang dihasilkan adalah posisi character pertama dari substring [Pagi] yang ada di dalam string [Selamat Pagi!].

Berikut ini adalah contoh strpos() function mencari posisi sebuah angka dalam sebuah string:

Code PHP 3:

<?php
$str = "1234567890"; // 10 angka dari 1 sampai 0
$substr = "2";

$posisi_substr = strpos($str, $substr);
echo "Posisi substring = " . $posisi_substr;
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring = 1

Berikut ini adalah contoh strpos() function menggunakan parameter offset:

Code PHP 4:

<?php
$str = "ababa";
$substr = "a";

$posisi_substr = strpos($str, $substr, 1);
echo "Posisi substring = " . $posisi_substr;
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring = 2

Pada contoh di atas, variable $str memiliki tiga buah huruf a yang berada pada posisi 0, 2 dan 4.

Code strpos() function di atas mencari huruf a mulai dari posisi 1 yang artinya huruf a pertama yang berada pada posisi 0 diabaikan.

Teknik berikut bisa kita gunakan dalam strpos() function untuk mengabaikan substring yang cocok paling pertama.

Code PHP 5:

<?php
$str = "ababa";
$substr = "a";

$posisi_substr = strpos($str, $substr);
$posisi_substr = strpos($str, $substr, $posisi_substr + 1);
echo "Posisi substring kedua = " . $posisi_substr;
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring kedua = 2

Berikut ini adalah teknik untuk menampilkan semua posisi substring yang cocok:

Code PHP 6:

<?php
$str = "ababa";
$substr = "a";

$posisi_substr = strpos($str, $substr);
echo "Posisi substring = " . $posisi_substr . "<br />";

while($posisi_substr = strpos($str, $substr, $posisi_substr + 1)){
    echo "Posisi substring = " . $posisi_substr . "<br />";
};
?>

Hasil running code di atas bila dilihat melalui page source browser akan tampak sebagai berikut ini:

Posisi substring = 0
Posisi substring = 2
Posisi substring = 4

Dengan memanfaatkan while loop maka kita bisa menampilkan semua posisi substring yang cocok.

Lihat function lainnya:

  • stripos() – Menghasilkan posisi sebuah substring yang cocok paling pertama di dalam sebuah string (case insensitive).
  • strrpos() – Menghasilkan posisi sebuah substring yang cocok paling terakhir di dalam sebuah string (case sensitive).
  • strripos() – Menghasilkan posisi sebuah substring yang cocok paling terakhir di dalam sebuah string (case insensitive).
  • strstr() – Menghasilkan sebagian dari string mulai dari bagian yang cocok paling pertama dengan substring yang dikehendaki (case sensitive).
  • stristr() – Menghasilkan sebagian dari string mulai dari bagian yang cocok paling pertama dengan substring yang dikehendaki (case insensitive).
  • strchr() – Function yang memiliki fungsi sama dengan strstr() function.
  • strrchr() – Menghasilkan sebagian dari string mulai dari character yang cocok paling terakhir dengan character yang dikehendaki (case sensitive).
  • strpbrk() – Menghasilkan sebagian dari string mulai dari character yang cocok dengan salah satu character yang dikehendaki (case sensitive).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>