Tutorial PHP: Cara Konversi String Menjadi Array PHP (Fungsi explode)

Fungsi explode() adalah fungsi PHP yang digunakan untuk memecah sebuah string menjadi array, atau dengan kata lain mengkonversi string menjadi array. Dalam tutorial belajar PHP kali ini kita akan membahas cara penggunaan fungsi explode().


Pengertian Fungsi explode

Fungsi explode() dalam PHP digunakan untuk menkonversi string menjadi array. Dalam memecah sebuah string menjadi array, fungsi explode() membutuhkan beberapa argumen. Berikut adalah format dasar dari fungsi explode dalam PHP:

array explode (string $delimiter , string $string [, int $limit ] )

Penjelasan dari format diatas adalah:

  • Nilai kembalian fungsi explode berupa sebuah array.
  • Argumen pertama ($delimiter) diisi dengan string karakter yang digunakan sebagai ‘pemecah’ string menjadi array.
  • Argumen kedua ($string) diisi dengan string yang akan dikonversikan.
  • Argumen ketiga yang bersifat opsional ($limit) diisi dengan batasan jumlah array yang ingin dihasilkan. Argumen ketiga ini bertipe angka (integer) dan bisa berupa nilai positif atau negatif.

Sebagai contoh, dalam kode program berikut ini saya memecah string $kalimat = “satu dua tiga empat lima” menjadi array:

<?php
$kalimat = "satu dua tiga empat lima";
$arr_kalimat = explode (" ",$kalimat);
var_dump ($arr_kalimat);
 
// array(5) {
// [0]=> string(4) "satu" [1]=> string(3) "dua"
// [2]=> string(4) "tiga" [3]=> string(5) "empat"
// [4]=> string(4) "lima"
// }
?>

Dalam string $kalimat diatas, saya menggunakan ‘spasi’ sebagai pemisah kata sehingga untuk memecah string tersebut, spasi ini akan menjadi pembatas (delimeter) untuk fungsi explode.

Jika string awal dipisahkan dengan karakter koma, titik, atau yang lain, kita bisa menggunakannya sebagai karakter delimeter, seperti contoh berikut:

<?php
$kalimat = "satu, dua, tiga, empat, lima";
$arr_kalimat = explode (", ",$kalimat);
var_dump ($arr_kalimat);
 
// array(5) {
// [0]=> string(4) "satu" [1]=> string(3) "dua"
// [2]=> string(4) "tiga" [3]=> string(5) "empat"
// [4]=> string(4) "lima"
// }
?>

Kali ini string $kalimat dipisah dengan tanda ‘spasi dan koma’, sehingga saya tinggal menulis fungsi explode (“, “,$kalimat).

Argumen ketiga fungsi explode() bersifat opsional. Argumen ini bisa diisi dengan angka (integer) positif maupun negatif. Jika diisi dengan angka positif, maka angka disini menunjukkan jumlah batasan element array yang akan dihasilkan. Langsung saja kita praktek menggunakan contoh:

<?php
$kalimat = "satu, dua, tiga, empat, lima";
$arr_kalimat = explode (", ",$kalimat, 3);
var_dump ($arr_kalimat);
 
// array(3) {
// [0]=> string(4) "satu"
// [1]=> string(3) "dua"
// [2]=> string(17) "tiga, empat, lima"
// }
?>

Dapat anda perhatikan bahwa walaupun string $kalimat seharusnya bisa dipecah menjadi 5 element array, tapi hasil dari fungsi explode (“, “,$kalimat, 3) hanya menghasilkan 3 element array, sesuai dengan angka “3” dari argumen ketiga. Untuk element ke-3 array, PHP akan mengambil seluruh string hingga akhir.

Namun jika kita menginput nilai negatif, hasilnya akan berbeda:

<?php
$kalimat = "satu, dua, tiga, empat, lima";
$arr_kalimat = explode (", ",$kalimat, -3);
var_dump ($arr_kalimat);
 
// array(2) {
// [0]=> string(4) "satu"
// [1]=> string(3) "dua"
// }
?>

Kali ini hanya 2 element array yang dihasilkan. Ini terjadi karena angka “–3” berarti: kurangi total element array sebanyak 3. Apabila saya menggunakan fungsi explode ‘biasa’, akan terdapat 5 element array yang bisa dihasilkan (seperti contoh pertama dalam tutorial ini), namun karena saya menambahkan nilai -3 pada argumen ke 3, hasil akhirnya akan dikurangi sebanyak 3 element (5 – 3 = 2 element).


Dalam tutorial belajar PHP di duniailkom kali ini, kita telah membahas pengertian dan cara pemakaian fungsi explode(). Fungsi explode sendiri digunakan untuk mengkonversi sebuah string menjadi array dalam PHP.


Tutorial Terkait:

16 Comments

  1. Ro Bi
    06 Nov 15
    • Andre
      08 Nov 15
  2. Singgih
    21 Feb 16
    • Andre
      22 Feb 16
  3. Anonymous
    28 Apr 16
    • Andre
      28 Apr 16
  4. Anonymous
    28 Apr 16
  5. JODHI
    28 Apr 16
  6. Inno
    28 Sep 16
    • Andre
      28 Sep 16
  7. billy satrio
    26 Nov 16
    • Andre
      26 Nov 16
  8. hendrawan
    08 Dec 16
    • Andre
      09 Dec 16
  9. fakhrur ridho
    23 Mar 17
    • Andre
      23 Mar 17

Add Comment