Apa fungsi substr pada php

Di tutorial ini kita akan membas bagaimana cara memotong kata di PHP dengan fungsi substr() entah dari suatu kalimat atau hanya beberapa kata.

Kadangkala kita membutuhkan penggalan kata dari suatu kalimat untuk dapat ditampilkan sebagian pada halaman tertentu suatu website yang sedang kita buat, tujuannya agar supaya layout atau tampilan website halaman yang memiliki daftar data tersebut lebih rapih, dan juga sebagai informasi tinjauan sebelum semua konten dibuka oleh pengguna lain.

Nah fungsi substr() ini adalah solusinya, dimana fungsi substr() ini dapat kita gunakan untuk memotong kata di PHP yang jumlahnya dapat kita tentukan sendiri.

Berikut ini adalah deskripsi singkat dari fungsi substr().

substr(string $string, int $offset, ?int $length = null): string

Code language: PHP (php)

Fungsi substr() memiliki beberapa parameter, berikut ini penjelasannya.

  • $string adalah string atau kata yang ingin diproses.
  • $offset adalah posisi awal string dimana fungsi memulai proses ekstrak dari suatu kata.
  • $length adalah jumlah karakter yang ingin diambil dari suatu kata atau kalimat.

Jika anda tidak menggunakan parameter $length maka fugnsi substr() akan mengekstrak string dari mulai ditentukannya $offset sampai akhir $string. Jika $length 0, false, atau null, fungsi substr() mengembalikan string kosong.

Mari kita coba buat beberapa contoh penggunaan fungsi substr().

1. Contoh sederhana fungsi substr()

Berikut ini adalah contoh sederhana penggunaan substr() untuk memotong kata dari sebuah string.

$string = 'Belajar'; echo substr($string, 0, 3);

Code language: HTML, XML (xml)

Pada contoh diatas fungsi substr() akan mengekstrak 3 karakter pertama dari string “Belajar” dimulai dari indeks 0 maka akan menghasilkan kata “Bel”.

Apa fungsi substr pada php

2. Menggunakan fungsi substr() dengan nilai length default

Berikut ini adalah contoh cara menggunakan substr() tanpa menentukan nilai akhir panjang (length) suatu kata atau kalimat.

$string = 'Belajar'; echo substr($string, 3);

Code language: HTML, XML (xml)

Dengan tidak menentukan nilai panjang (length) maka substr() akan mengambil seluruh kata dibelakang dimulai dari $offset, sebagai contoh kode diatas akan menampilkan kata “ajar” dari kata lengkapnya “Belajar”.

Apa fungsi substr pada php

3. Menggunakan offset negatif pada fungsi substr()

Parameter $offset bisa berupa angka negatif. Jika $offset negatif, maka fungsi substr() akan mengambil string yang dimulai dari karakter string terakhir. Karakter terakhir dalam string memiliki nilai indeks -1.

$string = 'Belajar'; echo substr($string, -3);

Code language: HTML, XML (xml)

Contoh kode diatas menggunakan $offset dengan nilai -3 dan akan menghasilkan output “jar” karena index dari blok karakter dimulai dari -1, huruf paling akhir dari sebuah kata atau kalimat.

4. Menggunakan nilai offset dan length negatif

Sama seperti parameter $offset, parameter $length dapat berupa nilai negatif. Jika anda menggunakan nilai negatif pada $length maka fungsi substr() akan menghilangkan sejumlah kata berdasarkan jumlah length yang anda tentukan.

$string = 'Belajar'; echo substr($string, -3, -2);

Code language: HTML, XML (xml)

Kode negatif $length diatas akan menghilangkan 2 huruf dari belakang hasil dari kembalian $offset dan akan menghasilkan ouput “j”.

Baca juga: Mencari Posisi String Di PHP Dengan strpos()

5. Menggunakan fungsi mb_substr()

Penggunaan fungsi mb_substr() pada dasarnya sama dengan substr(). Namun dengan menggunakan mb_substr() kita dapat menangani karakter non-ASCII. Sebagai contoh dibawah ini.

$string = 'Mesut Özil'; echo substr($string, 6, 1);

Code language: HTML, XML (xml)

Kode diatas akan mengambil string “Ö” yang bukan bagian dari ASCII, dan yang terjadi adalah tidak menghasilkan nilai keluaran apapun, umumnya pada browser modern akan muncul simbol “�”.

Mari kita coba dengan menggunakan mb_substr().

$string = 'Mesut Özil'; echo mb_substr($string, 6, 1);

Code language: HTML, XML (xml)

Fungsi mb_substr() akan mengeluarkan nilai “Ö” pada nama pemain sepakbola terkenal “Mesut Özil”. Huruf tersebut bukan bagian dari ASCII maka kita harus menggunakan fungsi mb_substr() untuk mengambil nilai tersebut.

Semoga tutorial Memotong Kata di PHP ini bermanfaat, jangan lupa komentar jika anda ada saran atau pertanyaan.

Kodefungsi.com - 

Model sintaks fungsi substr():

substr( variabel, awal_penggalan, jumlah_karakter )

Keterangan:

  • variabel, merupakan parameter yang bernilai kalimat yang akan diambil sebagian karakternya
  • awal_penggalan, merupakan posisi awal dimulainya pengambilan karakter
  • jumlah_karakter, merupakan jumlah karakter yang akan diambil

Coba lihat contoh di bawah ini

Apa fungsi substr pada php
Gambar 1. Contoh penggunaan fungsi substr() dengan tiga parameter

Pada gambar 1, Inisialisasi variabel $kata  yang diberi nilai "Hallo, apa kabar?".

Nah kita ingin mengambil karakter pada nilai tersebut, dimulai dari indeks ke-0, dengan jumlah 5 karakter.

Caranya dengan menggunakan kode program substr( $kata, 0, 5 ), dan keluarannya akan ditampilkan dengan perintah echo.  

Keluarannya adalah "Hallo".

Pengambilan karakter dimulai dari key indeks ke-0, sebanyak 5 karakter.

Pengambilan dimulai dari key indeks ke-0 ( huruf "H" pada kalimat "Hallo, apa kabar?" ), sedangkan key indeks ke-1 adalah huruf "a", key indeks ke-2 adalah huruf "l", key indeks ke-3 adalah "l", key indeks ke-4 adalah "0".  Sehingga total ada 5 karakter.

Coba lihat contoh lainnya.

Apa fungsi substr pada php
Gambar 2. Contoh penggunaan fungsi substr() dengan dua parameter

Pada gambar 2, diperlihatkan contoh penggunaan fungsi substr() dengan dua parameter saja.

Sama dengan contoh sebelumnya pada gambar 1, masih menggunakan variabel yang sama yaitu $kata bernilai "Hallo, apa kabar?".

Namun pengambilan karakter dimulai dari key indeks ke-7 alias karakter "a" dari kata "apa".

Parameter ketiga tidak ada, itu artinya bahwa pengambilan karakter dilakukan hingga karakter terakhir.

Key indeks ke-7 pada variabel $kata adalah huruf "a" dari kata "apa", sedangkan karakter terakhir pada variabel $kata adalah "?" dari kata "kabar?".

Jadi yang diambil yaitu "apa kabar?".

Coba lihat contoh lainnya.

Apa fungsi substr pada php
Gambar 3. Contoh penggunaan fungsi substr() satu parameter negatif

Pada gambar 3, diperlihatkan contoh penggunaan fungsi substr()  dengan menggunakan dua parameter, dimana parameter kedua berformat negatif, dalam hal ini adalah -1.

Jadi, untuk kasus seperti ini pengambilan karakter akan dimulai dari key indeks  -1. 

Perhitungan indeks negatif dimulai dari karakter terakhir pada kalimat.

Pada contoh gambar 3, karakter key indeks -1 merupakan karakter di urutan terakhir dalam variabel $kata yaitu "?".  Karena tidak ada parameter ketiga, maka pengambilan karakter hingga karakter terakhir, dalam hal ini adalah kebetulan juga karakter '?'.

Sehingga output atau keluarannya adalah '?'.

Coba lihat contoh lainnya lagi

Apa fungsi substr pada php
Gambar 4. Penggunaan fungsi substr() dengan dua parameter negatif

Pada gambar 4 diperlihatkan penggunaan fungsi substr() dengan dua parameter negatif, dalam kasus ini adalah -5 dan -1.

Untuk kasus ini, pengambilan karakter dimulai dari key indeks -5 . Sejumlah -1 karakter.

Bagaimana menerjemahkan sejumlah -1 karakter itu? 

Jika parameter ketiga bernilai minus, maka jumlah karakternya diterjemahkan dari jumlah karakter sisa dikurangi dengan nilai parameter ketiga.

Pada gambar 4, karakter sisa setelah karakter key  indeks -5 alias karakter 'a' pertama pada kata 'kabar?' hingga karakter terakhir yaitu '?' dari kata 'kabar' berjumlah 5 karakter.

Nah, 5 karakter ini dikurangi dengan 1. Sehingga jumlah karakter yang akan diambil adalah 4 karakter saja.

Oleh karena itu, yang diambil adalah karakter dimulai dari indeks  -5 sejumlah 4 karakter, yaitu fungsi akan mengambil urutan indeks -5 yaitu "a", urutan -4 yaitu "b", urutan -3 yaitu "a", dan urutan -2 yaitu "r". Total ada 4 karakter.

Jadi yang ditampilkan sebagai keluarannya adalah "abar".

Demikian pemaparan singkat tentang fungsi substr() cara mengambil sebagian karakter pada kata atau kalimat. Selamat belajar PHP.