Dalam PHP, apabila kita ingin mengubah suatu string baik itu 1 huruf atau angka, 1 kata maupun kalimat, kita menggunakan fungsi str_replace();. Fungsi ini sudah tersedia pada PHP. Penggunaan fungsi str_replace(); ini sangat mudah. Kita hanya memasukkan 3 parameter yang dibutuhkan yakni :
- string yang ingin diubah
- string yang diinginkan
- String target
Dengan komposisi di atas, maka penulisannya adalah sebagai berikut :
str_replace(string_awal,string_perubahan,string_target);
Sebagai contoh, misalkan kita ingin mengubah huruf “a” menjadi huruf “o” dalam suatu kalimat “saya sedang belajar”, maka penulisannya adalah sebagai berikut.
$string = "saya sedang belajar"; echo str_replace("a","o",$string);
//hasilnya : soyo sedong belojor
Nah, kemudian muncul pertanyaan Bagaimana jika akan mengubah multiple string atau string lebih dari 1? Untuk cara tersebut sangat mudah. Kita hanya tinggal lakukan berkali kali penulisan str_replace(); sesuai dengan string yang akan diubah. Sebagai tambahan pada contoh sebelumnya, misalkan kita ingin menambahkan mengubah string “s” menjadi string “l”. Maka penulisannya adalah sebagai berikut:
$string = "saya sedang belajar"; $hasil1 = str_replace("a","o",$string);
$hasil2 = str_replace("s","l",$hasil1);
echo $hasil2;
//hasilnya : loyo ledong belojor
Sedikit penjelasan pada kode di atas, kita menggunakan harus menggunakan variabel baru untuk selalu mengubah string sebelumnya. Meskipun nama variabelnya sama, namun pada mesin terbaca bahwa itu variabel baru jika cara penulisannya seperti itu. Namun sangat tidak efisien apabila cara penggunaan str_replace(); seperti itu. Bagaiman jika akan mengubah banyak string? Misalkan ingin mengubah 10 string atau lebih, apakah akan menuliskan cara itu berulang ulang hingga 10 kali atau lebih? Sekali lagi bisa, namun sangat tidak efisien. Lalu bagaimana caranya? Kita menggunakan fungsi tambahan, yakni array.
Terdapat beberapa cara penulisan menggunakan array pada fungsi str_replace; ini. Namun Saya akan memberikan contoh dalam 3 cara penulisan.
- Cara Pertama
Cara ini sangat mudah. Kita hanya menambahkan array di dalam komposisi yang ditentukan. Begini cara penulisalnnya.
$string = "saya sedang belajar";
echo str_replace(["a","s"],["o","l"],$string);
//hasilnya : loyo ledong belojor - Menggunakan foreach
Pada cara ini, kita akan menggunakan fungsi tambahan yakni fungsi perulangan foreach. Untuk menggunakan cara ini, kita harus membuat array dengan bentuk asosiatif terlebih dahulu. Sehingga penulisannya adalah sebagai berikut.
//bentuk array asosiatif
$c=array("a"=>"o","s"=>"l");
foreach($c as $key=>$value){
$string = str_replace($key,$value,$string);
}
//hasilnya : loyo ledong belojor - Menggunakan for
Cara ini sama halnya dengan poin sebelumnya. Hanya saja disini kita menggunakan fungsi for dalam penulisannya dan yang membedakan, kita menggunakan 2 array berbentuk index di mana array pertama adalah array dari string yang ingin diubah, dan array kedua adalah array string untuk perubahannya. Sehingga apabila diaplikasikan akan seperti berikut:
$a = array("a","s");
$b = array("o","l");
$string = "saya sedang belajar";
for($i=0;$i<count($a);$i++){
$string = str_replace($a,$b,$string);
}
//hasilnya : loyo ledong belojor
Cukup mudah dan sangat efisien bukan cara penulisannya pada fungsi str_replace(); dengan menggunakan array. Nah sekarang giliran Anda untuk mencobanya. Semoga bermanfaat untuk Anda. Selamat mencoba.
Leave a Reply