函數(shù)名稱:serialize()
適用版本:所有版本
函數(shù)描述: serialize()函數(shù)用于將變量序列化成一個(gè)字符串,以便存儲(chǔ)或傳輸。序列化后的字符串可以通過(guò)unserialize()函數(shù)重新轉(zhuǎn)回原來(lái)的變量。
語(yǔ)法: serialize(mixed $variable): string
參數(shù):
- $variable: 必需,要序列化的變量。
返回值: 返回一個(gè)包含序列化結(jié)果的字符串。
示例:
// 序列化一個(gè)數(shù)組
$data = array('name' => 'John', 'age' => 25, 'city' => 'New York');
$serializedData = serialize($data);
echo $serializedData;
// 輸出:a:3:{s:4:"name";s:4:"John";s:3:"age";i:25;s:4:"city";s:8:"New York";}
// 反序列化
$unserializedData = unserialize($serializedData);
print_r($unserializedData);
/*
輸出:
Array
(
[name] => John
[age] => 25
[city] => New York
)
*/
注意事項(xiàng):
- 可以序列化任何PHP數(shù)據(jù)類型,包括數(shù)組、對(duì)象、整數(shù)、字符串等。
- 序列化后的字符串可以存儲(chǔ)在文件中或通過(guò)網(wǎng)絡(luò)傳輸,然后通過(guò)unserialize()函數(shù)將其還原為原始數(shù)據(jù)。
- 使用serialize()函數(shù)序列化的數(shù)據(jù)只能由PHP解析,其他語(yǔ)言無(wú)法解析。
- 在使用serialize()函數(shù)時(shí)要注意安全性,不要將未經(jīng)驗(yàn)證的數(shù)據(jù)進(jìn)行反序列化,以防止代碼注入攻擊。