Fungsi ini mampu mengembalikan posisi kemunculan pertama dari sebuah substring di dalam sebuah string. Dalam kasus tidak mendeteksi substring, false dikembalikan. Tapi, posisi string dimulai dari 0 dan bukan 1. Untuk persepsi yang lebih baik tentang fungsi ini, lihat contoh di bawah ini
Ada fungsi baru str_contains() di PHP 8 yang menyediakan fungsionalitas yang sama
Fungsi strpos() membantu untuk mendeteksi posisi kejadian pertama dari sebuah string di dalam yang lain
❮ Referensi String PHP
Contoh
Temukan posisi kemunculan pertama "php" di dalam string
echo strpos("Saya suka php, saya juga suka php. ","php");
?>
Definisi dan Penggunaan
Fungsi strpos() menemukan posisi kejadian pertama dari sebuah string di dalam string lain
Catatan. Fungsi strpos() bersifat case-sensitive
Catatan. Fungsi ini aman untuk biner
Fungsi terkait
- strrpos() - Menemukan posisi kejadian terakhir dari string di dalam string lain (peka huruf besar/kecil)
- stripos() - Menemukan posisi kemunculan pertama string di dalam string lain (peka huruf besar-kecil)
- strripos() - Menemukan posisi kejadian terakhir dari string di dalam string lain (peka huruf besar-kecil)
Sintaksis
strpos(string, temukan, mulai)
Nilai Parameter
ParameterDeskripsistringDiperlukan. Menentukan string ke searchfindRequired. Menentukan string untuk findstartOptional. Menentukan di mana untuk memulai pencarian. Jika mulai adalah angka negatif, itu dihitung dari akhir stringDetail Teknis
Nilai Pengembalian. Mengembalikan posisi kemunculan pertama string di dalam string lain, atau FALSE jika string tidak ditemukan. Catatan. Posisi string dimulai dari 0, dan bukan 1. Versi PHP. 4+Catatan perubahan. PHP 7. 1. 0 - Parameter awal dapat berupa angka negatif❮ Referensi String PHPSebagai pengembang, kemungkinan besar Anda pada suatu saat ingin memeriksa apakah suatu string berisi substring tertentu (karakter, kata, atau frasa). mungkin ketika Anda ingin melakukan tindakan tertentu berdasarkan apakah string mengandung atau tidak mengandung substring tersebut
Ini bisa menjadi tugas sederhana untuk dilakukan secara manual saat string pendek. Untuk string teks yang panjang, ini mungkin memakan waktu lama. Opsi terbaik adalah melakukannya secara terprogram di mana pemeriksaan membutuhkan waktu milidetik untuk diselesaikan
Pada artikel ini, kami akan membahas berbagai cara untuk memeriksa apakah suatu string berisi teks tertentu menggunakan PHP dan dengan bantuan beberapa contoh
Metode untuk memeriksa apakah suatu string berisi teks tertentu dalam PHP
1. Menggunakan fungsi str_contains()
Fungsi str_contains() mengembalikan nilai true jika string berisi substring tertentu (karakter, teks, atau kata) atau false jika tidak .
Sintaksis
str_contains(string, temukan)
Parameter
ParameterRequirementDescriptionstringRequiredMenentukan string yang ingin kita periksa teksnya. findRequiredTentukan teks yang ingin kita cari
Contoh
<?php $str = "I love coding in php"; $text = "php"; if(str_contains($str, $text)){ echo "The text ‘php’ exists in the string variable"; } else{ echo "The text does not exist in the string"; }Keluaran
Teks 'php' ada di variabel string
Pemeriksaan kami telah memastikan bahwa string berisi teks "php"
Catatan. Fungsi ini peka huruf besar-kecil
Catatan. Fungsi ini diperkenalkan di PHP versi 8. Jika Anda mencoba menjalankannya dalam versi PHP sebelumnya, itu akan menimbulkan kesalahan di bawah ini
Kesalahan fatal. Kesalahan yang tidak tertangkap. Panggil ke fungsi yang tidak terdefinisi str_contains() di /path/to/file/filename. php. 4 Jejak tumpukan. #0 {main} dilempar ke /path/to/file/filename. php pada baris 4
Anda harus menggunakannya HANYA ketika Anda menjalankan PHP versi 8 atau yang lebih baru
- Artikel terkait
- Cara memeriksa versi PHP situs web Anda
- Cara memutakhirkan versi PHP situs web Anda
- Cara menyesuaikan versi PHP untuk berbagai direktori di cPanel
2. Menggunakan fungsi strpos()
Fungsi strpos() mengembalikan posisi kemunculan pertama teks di dalam string. Mengembalikan salah jika teks tidak ditemukan dalam string.
Sintaksis
strpos(string, temukan, mulai)
Parameter
ParameterRequirementDescriptionstringRequiredMenentukan string yang ingin kita periksa textfindRequiredMenentukan teks yang ingin kita temukanstartOptionalMenentukan posisi dalam string tempat kita ingin memulai pencarian teks. Jika mulai adalah angka negatif, itu dihitung dari akhir string
Contoh
<?php $str = "I love coding in php"; echo strpos($str, "php"); _Keluaran
17
Dalam contoh kami di atas, kami memeriksa posisi kemunculan pertama teks "php" di dalam string. Ini adalah posisi huruf/karakter pertama dari teks (p pertama dari "php") dari awal string (termasuk spasi)
Huruf "p" pertama dari teks php adalah karakter ke-18 dari string. Tetapi penghitungan posisi string dimulai dari nol (0) dan bukan 1. Oleh karena itu, teks "php" dimulai pada posisi 17
Namun, saat memeriksa apakah teks ada di dalam string atau tidak, kami tidak terlalu tertarik dengan posisinya. Yang ingin kita ketahui adalah apakah fungsi strpos() mengembalikan benar atau salah. Jika hasilnya TIDAK salah, maka string berisi teks. Jika tidak, tidak.
Contoh
<?php $str = "I love coding in php"; $text = "php"; if(strpos($str, $text) !== false){ echo "The text ‘php’ exists in the string variable"; } else{ echo "The text does not exist in the string"; }Keluaran
Teks 'php' ada di variabel string
Pemeriksaan kami telah memastikan bahwa string berisi teks "php"
Perhatikan bahwa saya telah menggunakan . == false operator. Operator === true akan bekerja dengan sempurna juga.
Menggunakan . = false or == true or even if(strpos(. ) ) {} tidak disarankan. Ini karena fungsi strpos() akan mengembalikan 0 jika teks yang kita periksa keberadaannya berada pada posisi 0 (adalah kata atau karakter pertama) dari . Pemeriksaan ini akan mengacaukan 0 dengan false dan mengembalikan false ketika string sudah berisi teks.
- Artikel terkait
- Perbedaan antara =, == dan === di PHP
- Perbedaan antara. = dan. == dalam PHP
strpos() peka terhadap huruf besar-kecil. Jika Anda ingin melakukan pemeriksaan case-insensitive, gunakan stripos() sebagai gantinya. Keduanya bekerja persis sama kecuali sensitivitas huruf besar-kecil
3. Menggunakan fungsi meledak() dan in_array()
Fungsi PHP explode() digunakan untuk memecah string menjadi array yang diindeks.
Sintaksis
meledak (pemisah, tali, batas)
Parameter
ParameterRequirementDescriptionseparatorRequiredMenentukan tempat untuk memutuskan string. Ini bisa berupa apa saja seperti spasi (" "), koma(,), titik penuh(. ), surat, dll. Parameter ini tidak boleh berupa string kosong. stringRequiredMenentukan string yang ingin kita pecahkan menjadi sebuah array. limitOptionalMenentukan jumlah elemen larik yang akan dikembalikan. Jika disetel ke 0, fungsi mengembalikan array dengan hanya satu elemen. Jika diatur lebih besar dari 0, fungsi mengembalikan array dengan elemen batas maksimum. Jika kurang dari 0, fungsi mengembalikan array kecuali elemen -limit terakhir ()
Contoh
<?php $str = "I love coding in php"; $array = explode(" ", $str); var_dump($array);Keluaran
array(5) { [0]=> string(1) "Aku" [1]=> string(4) "cinta" [2]=> string(6) "coding" [3]=> string(2)
Fungsi in_array() digunakan untuk mencari nilai tertentu dalam larik. Ini mengembalikan true, jika nilainya ada dalam array, dan false jika tidak.
Sintaksis
in_array(cari, larik)
Parameter
ParameterRequirementDescriptionsearchRequiredMenentukan teks yang akan dicari dalam larik. arrayRequiredMenentukan larik tempat kita melakukan pencarian
Contoh
<?php $array = array("Peter", "Mary", "Khan", "Juan"); if(in_array("Mary", $array)){ echo "The text ‘Mary’ exists in the array"; } else{ echo "Does not exist in the array"; } _Keluaran
Teks 'Mary' ada di dalam array
Menggabungkan fungsi burst() dan in_array()
<?php $str = "I love coding in php"; $array = explode(" ", $str); if(in_array("php", $array)){ echo "The text ‘php’ exists in the string"; } else{ echo "Does not exist in the string"; }Keluaran
Teks 'php' ada di dalam string
Dengan cara ini, kami dapat menggabungkan fungsi burst() dan in_array() untuk memeriksa apakah ada teks dalam string
4. Menggunakan fungsi strstr() atau stristr()
Fungsi strstr() mencari kemunculan pertama teks dalam string.
Sintaksis
strstr(string,cari,sebelum_cari)
Fungsi ini mengembalikan sisa string setelah kemunculan pertama dari teks pencarian
Parameter
ParameterRequirementDescriptionstringRequiredMenentukan string yang ingin kita periksa textsearchRequiredMenentukan teks yang kita cari. Jika parameter ini berupa angka, ia akan mencari karakter yang cocok dengan nilai ASCII dari numberbefore_searchOptional Ini adalah nilai boolean (benar atau salah) yang standarnya adalah "false". Jika disetel ke "true", ini mengembalikan bagian dari string sebelum kemunculan pertama dari parameter pencarian
Contoh
<?php $str = "Hello World! My name is John. I love PHP"; echo strstr($str, "John"); _Keluaran
Yohanes. Saya suka PHP
Ini memberi kita output dari string kita setelah kemunculan pertama teks pencarian "John"
Tapi karena yang kita inginkan dalam hal ini adalah untuk mengetahui apakah string berisi teks pencarian, yang ingin kita ketahui adalah apakah outputnya salah atau tidak. Jika hasilnya TIDAK salah, maka kita tahu bahwa string berisi teks. Lain, kita tahu itu tidak
Contoh
<?php $str = "Hello World! My name is John. I love PHP"; if(strstr($str, "John") !== false){ echo "The text ‘John’ exists in the string"; } else{ echo "The text ‘John’ doesn’t exist in the string"; }Keluaran
Teks 'John' ada di string
Cara lain untuk memastikan apakah suatu string berisi teks menggunakan fungsi ini adalah dengan memeriksa panjang string yang dikembalikan. Jika panjang string keluaran lebih dari 0, maka pasti string tersebut berisi teks
Contoh
<?php $str = "Hello World! My name is John. I love PHP"; if(strlen(strstr($str, "John")) > 0){ echo "The text ‘John’ exists in the string"; } else{ echo "The text ‘John’ doesn’t exist in the string"; } _Keluaran
Teks 'John' ada di string
strstr() peka terhadap huruf besar-kecil. Jika Anda ingin melakukan pemeriksaan case-insensitive, gunakan stristr() sebagai gantinya. Keduanya bekerja persis sama kecuali untuk sensitivitas huruf besar-kecil