unserialize

(PHP 4, PHP 5, PHP 7)

unserializeBir PHP değerini saklanmış gösteriminden oluşturur

Açıklama

unserialize ( string $dizge ) : mixed

unserialize() işlevi tek bir dizgeleştirilmiş değişken alır ve bunu tekrar bir PHP değeri haline getirir.

Değiştirgeler

dizge

Dizgeleştirilmiş değer.

Dizgeleştirilmiş bir değişkeni bir nesne haline getirmeye çalışırsanız PHP nesneyi oluşturduktan sonra özdevinimli olarak __wakeup() üye işlevini (varsa) çağıracaktır.

Bilginize: unserialize_callback_func yönergesi

Nesneleştirme sırasında tanımsız bir sınıf örneklenecekse (eksikli bir "__PHP_Incomplete_Class" nesnesinin elde edilmesini engellemek için) çağrılmak üzere bir geriçağırım işlevi tanımlamak mümkündür. Böyle bir işlevi php.ini veya .htaccess dosyasında unserialize_callback_func yönergesinde veya ya da ini_set() işlevinde belirtebilirsiniz. Bu işlevin her çağrılışında tanımsız bir sınıfın örneklenmesi gerekir. Bu özelliği iptal etmek için bu ayarı boş bırakmanız yeterlidir.

Dönen Değerler

Dönüştürülerek döndürülen değer boolean, integer, float, string, array veya object türünde olabilir.

Nesneleştirilemeyen bir dizge belirtilmesi durumunda işlev FALSE döndürür ve bir E_NOTICE çıktılar.

Sürüm Bilgisi

Sürüm: Açıklama
4.2.0 unserialize_callback_func işlevi kullanılabilir oldu.

Örnekler

Örnek 1 - unserialize() örneği

<?php
// Burada, oturum verisini $session_data dizisine yüklemek
// için bir veritabanından seçilmiş bir dizgeyi nesneleştireceğiz
// Bu örnek serialize() işlevi örneğinin tamamlayıcısıdır.

$conn odbc_connect("webdb""php""chicken");
$stmt odbc_prepare($conn"SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!
odbc_execute($stmt$sqldata) || !odbc_fetch_into($stmt$tmp)) {
    
// çalıştırma veya alım başarısız olursa boş bir dizi ilklendireceğiz
    
$session_data = array();
} else {
    
// artık dizgeleştirilmiş veri $tmp[0] içinde.
    
$session_data unserialize($tmp[0]);
    if (!
is_array($session_data)) {
        
// birşeyler yanlış gitmiş, boş bir dizi ilklendirelim
        
$session_data = array();
    }
}
?>

Örnek 2 - unserialize_callback_func örneği

<?php
$serialized_object
='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func yönergesi PHP 4.2.0'dan beri kullanılabilmektedir.
// kendi geriçağırım işlevimizi belirtelim
ini_set('unserialize_callback_func''mycallback');

function 
mycallback($classname)
{
    
// Sınıf tanımınızı içeren bir dosyayı dahil etmeniz yeterlidir
    // Hangi sınıf tanımının gerçekleneceğini $classname değişkenine
    // bakarak saptayacaksınız
}
?>

Notlar

Uyarı

Hata durumunda veya dizgeleştirilmiş bir FALSE değerini nesneleştirmeye çalışıyorsanız işlev FALSE döndürür. Bu özel durumu str değiştirgesini serialize(false) ile karşılaştırarak veya E_NOTICE çıktısını inceleyerek yakalayabilirsiniz.

Ayrıca Bakınız