PHP 序列化函数是一种将 PHP 变量转换为字符串的方法,它可以将复杂的数据结构(如数组和对象)转换为字符串,以便在不同的上下文中传输和存储。序列化函数是 PHP 中最常用的函数之一,它可以用于保存用户会话、保存配置文件、在不同服务器之间传输数据、在 Web 服务中传递复杂的数据等。
PHP 中有三个序列化函数:serialize()、unserialize() 和 json_encode()。serialize() 函数可以将 PHP 的变量转换成一个字符串;unserialize() 函数可以将序列化后的字符串还原成原来的 PHP 变量;json_encode() 函数可以将 PHP 的变量转换成 JSON 格式的字符串。
// 使用 serialize() 函数序列化一个 PHP 数组 $arr = array('a' => 1, 'b' => 2, 'c' => 3); $str = serialize($arr); // 返回 a:3:{s:1:"a";i:1;s:1:"b";i:2;s:1:"c";i:3;}
serialize() 函数返回一个特定格式的字符串,其中 a 表示该字符串表示一个 array 类型;3 表示该 array 有三项元素;s 表示元素是 string 类型;i 表示元素是 integer 类型。
// 使用 unserialize() 函数还原序列化后的 PHP 数据 $str = 'a:3:{s:1:"a";i:1;s:1:"b";i:2;s:1:"c";i:3;}'; $arr = unserialize($str); // 返回 Array ( [a] => 1 [b] => 2 [c] => 3 )
unserialize() 函数可以将上面 serialize() 生成的特定格式的字符串还原成原来的 PHP 数据。
// 使用 json_encode() 函数将 PHP 数据转换成 JSON 格式 $arr = array('a' => 1, 'b' => 2, 'c' => 3); $jsonStr = json_encode($arr); // 返回 {"a":1,"b":2,"c":3}
json_encode() 函数可以将上面定义的 PHP 数据转换成 JSON 格式。JSON 格式是相对于 serialize() 生成格式而言要易读性好很多。
总之,PHP 的序列化函数是一项非常有用而常用的功能,它能够帮助你在不同上下文之间传递复杂的信息。但要注意不要在不安全的上下文中使用序列化函数(如 GET/POST/Cookie/URL ) ,因此你必须尊重并遵循相关安全方面的法律法规。
serialize() — 产生一个可存储的值的表示。
string serialize ( mixed $value )
serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。Note:
在 PHP 3 中,对象属性将被序列化,但是方法则会丢失。PHP 4 打破了此限制,可以同时存储属性和方法。请参见类与对象中的序列化对象部分获取更多信息。
PHP extract() 函数 完整的 PHP Array 参考手册实例 将键值 Cat、Dog 和 Horse 赋值给变量 $a、$b 和 $c:?php $a = Original; $...
PHP zip_close() 函数 完整的 PHP Zip File 参考手册定义和用法 The zip_close() 函数关闭由 zip_open() 函数打开的 zip 档案。 ...
构造函数void __construct ([ mixed $args [, $... ]] )PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类...
PHP mysqli_field_count() 函数PHP MySQLi 参考手册实例 假设我们有一个 Friends 表,其中有 3 个字段 20 行记录。返回最近查询...
PHP mysqli_thread_id() 函数PHP MySQLi 参考手册实例 返回当前连接的线程 ID,然后杀死连接:?php $con=mysqli_connect(localho...