by A.Gökhan, M.Sc. | Mayıs 15 10:54
PHP programlama dilinde bir nesne veya diziyi string veri türünde depolamak ve daha sonra tekrar nesne veya diziye çevirebilmek için Serialize() ve Unserialize() fonksiyonlarını kullanırız.
Aşağıdaki kodlar Araba isimli bir nesnenin serialize edilmesini ve çıktısının nasıl olduğunu göstermektedir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
class Araba { public $marka; public $model; public function __construct( $_marka, $_model ) { $this->marka = $_marka; $this->model = $_model; } } $araba = new Araba("Honda", "2015 Civic Sedan"); $depoVeri = serialize($araba); echo $depoVeri; |
Yukarıdaki kodların çıktısı aşağıdaki şekilde olacaktır:
1 |
O:5:"Araba":2:{s:5:"marka";s:5:"Honda";s:5:"model";s:16:"2015 Civic Sedan";} |
Yukarıdaki kodları aşağıdaki unserialize işlemini eklediğimizde, Araba sınıfına ait değişkenlere erişebileceğimizi rahatlıkla görebiliriz:
1 2 3 |
$depoAraba = unserialize($depoVeri); echo $depoAraba->marka; |
Yukarıdaki kodlar çalıştırıldığında ekranda Honda yazdığını göreceğiz.
Programı aşağıdaki şekilde değiştirelim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Araba { public $marka; public $model; public function __construct( $_marka, $_model ) { $this->marka = $_marka; $this->model = $_model; } } $araba = new Araba("Honda", "2015 Civic Sedan"); $araba2 = new Araba("Honda", "2015 CRV"); $arabalar = array($araba, $araba2); $depoVeri = serialize($arabalar); echo $depoVeri; |
Araba sınıfından yeni bir Araba sınıfı oluşturduk. Daha önce oluşturduğumuz Araba sınıfı ile birleştirerek $arabalar dizi değişkenine eklemek suretiyle bir dizi oluşturduk ve bu diziyi serialize ile depoladık. Depolanan string veri ise şu şekilde oluştur:
1 |
a:2:{i:0;O:5:"Araba":2:{s:5:"marka";s:5:"Honda";s:5:"model";s:16:"2015 Civic Sedan";}i:1;O:5:"Araba":2:{s:5:"marka";s:5:"Honda";s:5:"model";s:8:"2015 CRV";}} |
Şimdi bu diziyi unserialize edip, foreach döngüsüne sokarak, her bir araba sınıfının model bilgisini çekelim ve ekrana yazdıralım:
1 2 3 4 5 |
$dizi = unserialize($depoVeri); foreach( $dizi as $d ) { echo $d->model."<br>"; } |
Yukarıdaki kodları çalıştırdığımızda ekranda aşağıdaki gibi bir çıktı aldığımızı rahatlıkla görebileceğiz:
1 2 |
2015 Civic Sedan 2015 CRV |
Source URL: http://www.phpservisi.com/php-dilinde-serialize-ve-unserialize-fonksiyonlarinin-kullanimi/
Copyright ©2025 Phpservisi.com unless otherwise noted.