Penggunaan fungsi DELIMETERS pada PHP

Written by Aldo Expert at 2012-05-02 06:50:15.

PHP memiliki module yang sangat lengkap bahkan bisa dikatakan saat ini PHP memiliki module yang lebih lengkap dari pada pemrograman desktop. Penggunaan PHP lebih fleksibel dari pada yang lain misalnya dalam memecah string tertentu seperti tutorial yang akan saya berikan kali ini. Kita akan mengenal mengenai explode dan implode. pertama saya akan jelaskan tentang explode. explode[] : memecah string berdasarkan suatu delimiter [separator] sebagai contoh, biasanya dalam format/aturan string dalam SMS [lebih sering buat SMS gateway] string yang kita punya misalnya: SPP.07016007 dari string diatas kita mengetahui bahwa delimiternya adalah titik [.] sehingga kita bisa pisah dengan explode seperti berikut

RUMUS: explode[str_delimiter,str_value]

$text = "SPP.07016007"; 
$str = explode[".",$text];

dengan begitu maka pada variabel $str akan menghailkan array yang berisi setiap string, sehingga kita bisa manfaatkan dengan pengkondisian misalnya saja seperti berikut

switch[ $str[0] ] { 
case 'SPP': 
/* 
// contoh script saja 
$SQL = "select .... where .... NIM='" . $str[1] . "' "; 
........ 
*/ 
break; 
case 'TRA': 
/* 
// silahkan berkreasi sendiri 
*/ 
break; 
}

Naah... begitulah penerapan explode. untuk lebih kompleksnya silahkan manfaatkan fungsi PHP yang ada dan dikembangkan sendiri. anda juga bisa menerapkan delimiter dengan karakter yang lain misal tanda pagar [#] maupun spasi [ ]. jika menggunakan spasi kita juga harus menanggulangi hal yang mungkin terjadi yakni spasi ganda karena spasi bisa jadi susah dilihat oleh mata [misalnya ada spasi 2x tapi terlihat hanya ada 1 spasi] untuk spasi anda bisa baca fungsi yang saya buat untuk menghilangkan spasi ganda. Sekarang kita masuk ke implode. implode[] : menggabungkan semua element array dengan suatu delimiter [separator] untuk penerapannya mungkin bisa menggunakan hasil explode diatas pada variabel $str sehingga seperti ini RUMUS: implode[str_delimiter,str_array]

$imp = implode['#',$str]; 
echo $imp; // hasilnya menjadi: SPP#07016007

atau bisa juga dengan array yang dibuat sendiri

$array1 = array['satu','dua','tiga']; 
 
$array2 = array[]; 
$array2[0] = '1'; 
$array2[1] = '2'; 
$array2[2] = '3'; 
 
$imp_1 = implode['-',$array1]; 
$imp_2 = implode['|',$array2]; 
 
echo $imp_1; // hasilnya: satu-dua-tiga 
echo "
"; echo $imp_2; // hasilnya: 1|2|3

Silahkan berkreasi sendiri untuk implode ini. sedikit tutorial yang saya berikan semoga bermanfaat.

Pada saat kita mendefinisikan objek yang tersimpan di database MySQL seperti stored procedure, trigger maupun function, ada problem yang akan muncul yaitu penggunaan titik koma [ ; ] pada statement SQL yang merupakan bagian dari objek tersebut. 

Kenapa begitu ? Karena MySQL secara default menganggap titik koma [ ; ] sebagai delimiter / pembatas akhir dari suatu perintah / statement. Akhirnya pembuatan objek yang memiliki beberapa statement tidak akan berjalan sempurna karena "berhenti di tengah jalan".

Solusi terhadap masalah di atas adalah menggunakan delimiter selain tanda titik koma [ ; ] misalkan dengan garis pipa [ | ]. Penggunaannya sangat sederhana, sebelum mendefinisikan objek tersebut kita gunakan statement "DELIMITER" diikuti tanda pemisah baru. Setelah di akhir pendefinisian kita kembalikan delimiter lagi kepada tanda titik koma.

Contoh Penggunaan :

  1. DELIMITER |

  2. CREATE TRIGGER hapus_tr_penjualan AFTER DELETE

  3. ON tr_penjualan FOR EACH ROW

  4. BEGIN

  5. INSERT INTO tr_penjualan_hapus

  6. [       tgl_transaksi,

  7. kode_cabang,

  8. kode_kasir,

  9. kode_item,

  10. kode_produk,

  11. jumlah_pembelian,

  12. tgl_perubahan,

  13. nama_user

  14. ]

  15. VALUES

  16. [       OLD.tgl_transaksi,

  17. OLD.kode_cabang,

  18. OLD.kode_kasir,

  19. OLD.kode_item,

  20. OLD.kode_produk,

  21. OLD.jumlah_pembelian,

  22. SYSDATE[],

  23. CURRENT_USER

  24. ];

  25. END;

  26. |

  27. DELIMITER ;

Keterangan Contoh :

Terlihat pada baris 1 delimiter / pemisah tanda garis pipa [ | ] digunakan sebelum pendefinisian trigger "hapus_tr_penjualan". Dan setelah pendefinisian selesai dilakukan maka tanda titik koma dikembalikan sebagai delimiter seperti terlihat pada baris 30.

Bài mới nhất

Chủ Đề