Pada tutorial belajar PHP kali ini saya akan membahas sebuah fungsi sederhana yang cukup sering digunakan, yakni fungsi substr(). Fungsi substr() digunakan untuk memotong sebuah string atau mengambil sebagian nilai dari sebuah string di dalam PHP.
- Mengenal Fungsi substr() -
Fungsi substr() adalah fungsi PHP untuk memotong string, atau untuk mengambil sebagian nilai dari sebuah string. Fitur ini cukup sering digunakan dalam proses pembuatan program PHP, terutama yang membutuhkan manipulasi string.
Sebagai contoh, misalkan kita memiliki sebuah string berbentuk tanggal: “14-09-2015”. Bagaimana caranya untuk mengambil nilai bulan dari string tersebut, yakni karakter “09” ?
Contoh lain, katakan NIM seorang mahasiswa terdiri dari 8 digit: “12140001”. Dua digit pertama adalah tahun masuk mahasiswa, dua digit berikutnya kode jurusan, dan empat digit terakhir adalah no urut mahasiswa. Bagaimana cara memisahkan digit-digit ini?
Dalam kasus seperti inilah fungsi substr() diperlukan.
Fungsi substr() membutuhkan 2 buah argumen dan 1 argumen tambahan (opsional). Arguman pertama adalah string asal yang ingin diambil nilainya. Argumen kedua berupa posisi awal pemotongan, dan argumen ketiga diisi jumlah karakter yang akan diambil. Argumen kedua dan ketiga bertipe integer dan bisa positif maupun negatif.
PHP membuat penggunaan fungsi substr() dengan 6 kombinasi cara penulisan. Kita akan membahasnya satu persatu.
- Cara Mengambil Karakter Dari Awal String -
Penggunaan pertama fungsi substr() yang akan kita bahas adalah cara mengambil karakter yang dimulai dari awal string. Berikut contoh penggunaannya:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,3);
echo $sub_kalimat;
// ajar PHP di mr-syntax.com
?>
Dalam kode diatas, saya mengambil string $kalimat mulai dari index ke-3. Jika fungsi substr()ditulis dengan 2 argumen seperti ini, dan argumen kedua bernilai positif, maka fungsi substr() akan mengembalikan nilai string $kalimat mulai dari huruf ke-4, yakni huruf “a” hingga akhir string.
Perlu menjadi catatan bahwa index string di dalam PHP dimulai dari angka 0. Sehingga fungsi substr($kalimat,3) akan mengembalikan nilai string $kalimat mulai dari huruf ke-4, dan bukan huruf ke-3.
Agar lebih yakin, anda bisa mencoba kode berikut ini:
<?php
$kalimat = "123456789";
$sub_kalimat = substr($kalimat,3);
echo $sub_kalimat;
// 456789
?>
Fungsi substr() juga memiliki argumen ketiga yang bersifat opsional (boleh diisi atau dikosongkan). Jika kita menambahkan argumen ketiga, nilai ini berfungsi sebagai penentu ‘berapa banyak jumlah karakter yang akan diambil’. Berikut contohnya:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,8,3);
echo $sub_kalimat;
// PHP
?>
Fungsi substr($kalimat,8,3) akan mengambil string $kalimat mulai dari index ke-8 (karakter ke-9) dan ambil sebanyak 3 karakter.
Kita juga bisa memberikan nilai negatif untuk argumen ke-3 ini, dan fungsinya akan berubah. Berikut contohnya:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,8,-3);
echo $sub_kalimat;
// PHP di mr-syntax
?>
Fungsi substr($kalimat,8,-3) akan mengembalikan string $kalimat mulai dari index ke-8 (karakter ke-9) hingga akhir string, kecuali 3 karakter terakhir. 3 karakter terakhir ini adalah “kom”, sehingga hasil akhir kode diatas adalah: “PHP di Duniail”.
Contoh lainnya, apabila kita ingin mengambil string $kalimat mulai dari index ke-10 hingga akhir string, kecuali 5 karakter terakhir, maka fungsinya adalah: substr($kalimat,10,-5).
- Cara Mengambil Karakter Dari Akhir String -
Selain dari awal string, kita juga bisa mengambil karakter mulai dari akhir string. Caranya adalah dengan memberikan nilai negatif pada argumen kedua fungsi substr(). Langsung saja kita lihat contoh penggunaannya:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,-10);
echo $sub_kalimat;
// mr-syntax.com
?>
Fungsi substr($kalimat,-10) berarti ambil 10 karakter terakhir dari string $kalimat.
Agar lebih spesifik, kita juga bisa menentukan jumlah karakter yang ingin diambil. Ini bisa didapat dengan menambahkan argumen ke-3:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,-10,5);
echo $sub_kalimat;
// mr-sy
?>
Kombinasi terakhir dari fungsi substr() adalah menggunakan angka minus untuk argumen ketiga, seperti contoh berikut:
<?php
$kalimat = "Belajar PHP di mr-syntax.com";
$sub_kalimat = substr($kalimat,-10,-3);
echo $sub_kalimat;
// mr-syntax
?>
Fungsi substr($kalimat,-10,-3) berarti ambil 10 karakter terakhir dari string $kalimat, kecuali 3 karakter terakhir, sehingga hasil kode programnya adalah: “Duniail”.
Dari beberapa contoh diatas, kita sudah melihat 6 jenis kombinasi penggunaan fungsi substr().Kombinasi tersebut di dapat dari perbedaan jumlah argumen dan apakah argumen tersebut bertipe positif dan negatif. Sebagai kesimpulan, berikut contoh kode seluruh kombinasi fungsi substr():
Pengambilan sebagian nilai string cukup sering kita gunakan. PHP menyediakan fungsi substr()untuk keperluan ini. Dengan 6 kombinasi, fungsi substr() sangat praktis untuk memotong sebuah string atau mengambil sebagian nilai dari sebuah string di dalam PHP.