在PHP中,serialize()用於序列化物件或數組,將其轉換為可以儲存的字串,語法「serialize($value)」。使用serialize()函數序列化物件後,可以很方便的將它傳遞給其他需要它的地方,且其類型和結構不會改變。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php serialize()函數
serialize() 函數用於序列化物件或陣列,將其轉換為可以儲存的字串並傳回。
以物件為例,當序列化一個物件時,將會保存物件的所有變量,但是不會保存物件的方法,只會保存類別的名字。另外,為了能夠反序列化一個對象,這個對象的類別必須已經定義過。如果序列化類別 A 的一個對象,將會傳回一個跟類別 A 相關,而且包含了對象所有變數值的字串。
serialize() 函數的語法格式如下:
serialize($value)
$value :要序列化的變數。
serialize() 函數可以處理除了 resource(資源)之外的任何類型。當序列化物件時,PHP 會在序列動作之前呼叫該物件的 __sleep() 成員函數。這樣就允許物件在被序列化之前做任何清除操作。類似的,當使用 unserialize() 反序列化物件時,將呼叫 __wakeup() 成員函數。
【範例】使用 serialize() 函數序列化一個物件。
<?php header("Content-type:text/html;charset=utf-8"); class WebSit { public $name; public $url; function __construct($name, $url) { $this -> name = $name; $this -> url = $url; } } $websit = new WebSit('PHP中文网', 'https://www.php.cn/'); $ser_str = serialize($websit); echo $ser_str; ?>
執行結果如下:
說明:如果想要將已序列化的字串變回 PHP 的值,可使用 unserialize()。
推薦學習:《PHP影片教學》
以上是php serialize()怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!