unserialize

(PHP 4, PHP 5, PHP 7)

unserialize 锟斤拷锟窖存储锟侥憋拷示锟叫达拷锟斤拷 PHP 锟斤拷值

说锟斤拷

unserialize ( string $str ) : mixed

unserialize() 锟皆碉拷一锟斤拷锟斤拷锟斤拷锟叫伙拷锟侥憋拷锟斤拷锟斤拷锟叫诧拷锟斤拷锟斤拷锟斤拷锟斤拷转锟斤拷锟斤拷 PHP 锟斤拷值锟斤拷

锟斤拷锟斤拷

str

锟斤拷锟叫伙拷锟斤拷锟斤拷址锟斤拷锟斤拷锟�

锟斤拷锟斤拷锟斤拷锟斤拷锟叫伙拷锟侥憋拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟节成癸拷锟斤拷锟斤拷锟铰癸拷锟斤拷锟斤拷锟街拷锟絇HP 锟斤拷锟皆讹拷锟斤拷锟斤拷图去锟斤拷锟斤拷 __wakeup() 锟斤拷员锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诘幕锟斤拷锟斤拷锟�

Note: unserialize_callback_func 指锟斤拷

锟斤拷锟斤拷诮锟斤拷锟斤拷谢锟斤拷锟绞憋拷锟斤拷锟揭碉拷锟斤拷锟揭伙拷锟轿达拷锟斤拷锟斤拷啵拷锟斤拷锟斤拷锟斤拷锟矫回碉拷锟斤拷锟斤拷锟皆癸拷锟斤拷锟矫o拷锟斤拷锟斤拷玫锟斤拷锟斤拷遣锟斤拷锟斤拷锟斤拷锟� object "__PHP_Incomplete_Class"锟斤拷锟斤拷锟斤拷通锟斤拷 php.ini锟斤拷ini_set() 锟斤拷 .htaccess 锟斤拷锟斤拷'unserialize_callback_func'锟斤拷每锟斤拷实锟斤拷锟斤拷一锟斤拷未锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟结被锟斤拷锟矫★拷锟斤拷要锟斤拷止锟斤拷锟斤拷锟斤拷裕锟街伙拷锟斤拷每沾锟斤拷瓒拷锟�

锟斤拷锟斤拷值

锟斤拷锟截碉拷锟斤拷转锟斤拷之锟斤拷锟街碉拷锟斤拷锟轿� integer锟斤拷float锟斤拷string锟斤拷array 锟斤拷 object锟斤拷

锟斤拷锟斤拷锟斤拷莸锟斤拷址锟斤拷锟斤拷锟斤拷山锟斤拷锟斤拷谢锟斤拷锟斤拷蚍祷锟� FALSE锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷 E_NOTICE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
4.2.0 锟斤拷锟斤拷锟� unserialize_callback_func 指锟筋。

锟斤拷锟斤拷

Example #1 unserialize() 锟斤拷锟斤拷

<?php
// 锟斤拷锟斤,锟斤拷锟斤拷使锟斤拷 unserialize() 装锟斤拷锟斤拷锟斤拷锟斤拷锟捷匡拷锟� $session_data 锟斤拷锟斤拷锟叫的会话锟斤拷锟捷★拷
// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 serialize() 锟斤拷锟角革拷锟斤拷锟接的诧拷锟戒。

$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)) {
    
// 锟斤拷锟街达拷谐锟斤拷锟津返回达拷锟斤拷锟斤拷锟绞硷拷锟轿拷锟斤拷锟斤拷锟�
    
$session_data = array();
} else {
    
// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷 $tmp[0] 锟斤拷锟斤拷锟斤拷锟叫伙拷锟斤拷锟斤拷锟捷★拷
    
$session_data unserialize($tmp[0]);
    if (!
is_array($session_data)) {
        
// 锟斤拷锟斤拷锟斤拷始锟斤拷为锟斤拷锟斤拷锟斤拷
        
$session_data = array();
    }
}
?>

Example #2 unserialize_callback_func 锟斤拷锟斤拷

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

// unserialize_callback_func 锟斤拷 PHP 4.2.0 锟斤拷锟斤拷锟�
ini_set('unserialize_callback_func''mycallback'); // 锟斤拷锟斤拷锟斤拷锟侥回碉拷锟斤拷锟斤拷

function mycallback($classname
{
   
// 只锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷喽拷锟斤拷锟侥硷拷
   // $classname 指锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷
}
?>

注锟斤拷

Warning

锟斤拷锟斤拷锟斤拷锟斤拷谢锟斤拷锟� FALSE 锟斤拷值锟斤拷锟斤拷锟斤拷锟节癸拷锟斤拷锟叫凤拷锟斤拷锟剿达拷锟襟,讹拷锟结返锟斤拷 FALSE锟斤拷 锟斤拷锟斤拷通锟斤拷 str 锟斤拷 serialize(false) 锟斤拷锟叫比较o拷锟斤拷锟竭诧拷捉 E_NOTICE 锟斤拷锟斤拷锟斤拷锟叫讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�

锟轿硷拷