Fungsi Serialize dan Unserialize

Halo sobat, ketemu lagi nih yaa.. alhamdullilah saya hari ini ada kesempatan update blog lagi.. sebelum nanti mulai ospek kuliah, dan meluangkan waktu kerja, saya mau ngeposting sedikit catatan yng pernah saya gunakan.. Pada kesempatan kali ini saya akan memposting fungsi PHP dan yang akan saya coba bahas adalah Serialize dan Unserialize, fungsi ini adalah salah satu fungsi yang sering saya gunakan saat membuat aplikasi dengan bahasa PHP, karena fungsi ini sangat mudah penggunaannya dan besar manfaatnya brooo.. xD

Jadi gini fungsi serialize akan mengubah bentuk suatu value menjadi bentuk lain tanpa mengubah type dan structur datanya. Dan untuk mengembalikan value ke bentuk semula dengan menggunakan fungsi unserialize.

Nah sebelumnya pernah liat text kaya gini belum?

a:2:{s:4:"name";s:4:"Dika";s:3:"age";i:18;}

kalo belum, itulah hasil dari fungsi serialize tadi..

oke sebagai contoh kita buat dengan code sederhana :

<?php
	$array = array('Ferdhika','Yudira'); // this is array
	$string = 'Ferdhika Yudira'; // and this is a string
	$integer = 17; // integer
	// Generate Value
	echo serialize($array).'<br>';
	echo serialize($string).'<br>';
	echo serialize($integer).'<br>';
?>

dan resultnya kurang lebih seperti ini :

a:2:{i:0;s:8:"Ferdhika";i:1;s:6:"Yudira";}
s:15:"Ferdhika Yudira";
i:17;

Nah dari contoh di atas dapat terlihat perubahan bentuk sebuah value ke bentuk lain dengan memanfaatkan fungsi serialize, hasil perubahan berupa text dengan beberapa kode huruf dan angka yang dipisahkan oleh tanda titik dua, setiap angka dan huruf ini memiliki arti atau sebagai indentitas dari sebuah value yang diubah.

Misalnya :

  • array('Ferdhika', 'Yudira') diubah menjadi a:2:{i:0;s:8:"Ferdhika";i:1;s:6:"Yudira";}, penjelasan dari huruf "a" adalah array dan angka 2 adalah jumlah index pada array, lalu setelah tanda kurung kurawal huruf "i" berarti index dengan diteruskan angka urutan dari index tersebut. Selanjutnya sama dengan penjelasan di poin 1 dan 2 dimana sesuai dengan type value.
  • (string) "Ferdhika Yudira" diubah menjadi s:15:"Ferdhika Yudira";, penjelasan dari huruf "s" adalah string lalu angka 15 adalah jumlah karakter dari value string tersebut.
  • (int) 17 diubah menjadi i:17;, penjelasan dari huruf "i" didepan value "17" berarti type value adalah integer.

dan untuk mengembalikan hasil dari serialize kita bisa menggunakan fungsi unserialize tadi.. contoh :

$array_gen = 'a:2:{i:0;s:8:"Ferdhika";i:1;s:6:"Yudira";}';
$string_gen = 's:15:"Ferdhika Yudira";';
$integer_gen = 'i:17;';

// Ungenerate Value
echo unserialize($array_gen).'<br>';
echo unserialize($string_gen).'<br>';
echo unserialize($integer_gen).'<br>';

Cukup mudah bukan dalam penggunaannya, tapi sekarang pertanyaan yang muncul adalah "Bagaimana dalam implementasi atau pemanfaatannya saat sedang development aplikasi?"

Pemanfaatan fungsi ini paling banyak adalah untuk penyimpanan data ke dalam database terutama data dengan type array(), dengan menggunakan fungsi serialize data array() dapat tersimpan ke dalam database pada satu field, sehingga kita tidak perlu memisahkan data array() menjadi field yang terpisah, dan mungkin akan membuat query kita lebih sederhana.

Nah sekian dulu tentang artikel serialize dan unserialize. Semoga bermanfaat ilmu nya dan bisa di implementasikan dengan program kamu.. :)) sampai jumpa :D

 

Source : Sukma