A. php中说的序列化对象是什么意思
简单的说,就是把一个包含很多内容的对象变成字符串.用于传输或存储.
不太恰当的比喻,好比在<<骇客帝国>>中人从电话线中送到目的端(序列化后传输),再还原成人.(unserialize).
==============
serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。你正 serialize() 的数组/对象中的引用也将被存储。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
B. php中serialize问题
也直接转化为字符串了,是对整个类的序列化,相当于压缩包
C. [php]serialize()函数什么意思
一个描述 PHP 数据的函数。返回值是一个字符串。有的时候为了把一些数据转为字符串存起来,但是希望保持数据原来有结构和内容。就要用到这个函数。
$a=array('data'=>"hi", 123);
$b=serialize($a);
echo $b; //这个就是描述过的数组但在这里是一个字符串而已
$c=unserialize($b); //把描述过的数据恢复
print_r($c); //还原成为 $a ,数组结构并没有丢失。
D. php 什么是序列化
string serialize ( mixed value )
serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。你正 serialize() 的数组/对象中的引用也将被存储。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
注: 在 PHP 3 中,对象属性将被序列化,但是方法则会丢失。PHP 4 打破了此限制,可以同时存储属性和方法。请参见类与对象中的序列化对象部分获取更多信息。
例子 1. serialize() 示例
<?php
// $session_data 是包含了当前用户 session 信息的多维数组。
// 我们使用 serialize() 在请求结束之前将其存储到数据库中。
$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn,
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata)) {
$stmt = odbc_prepare($conn,
"INSERT INTO sessions (id, data) VALUES(?, ?)");
if (!odbc_execute($stmt, &$sqldata)) {
/* 出错 */
}
}
?>
E. PHP中使用serialize()函数转换来存COOKIE问题
cookie一般不允许超过4kb,服务器上时,可能除来你存的 还有好多其他的,导致失败。
F. PHP中序列化有什么用处
你想如果想把一个数组或者是对象存储到文件或数据库中,怎么办。不能像字符串那样的存储吧。所以在存储数组或对象之前先serialize,在取回内容时再unserialize...
一句话:serialize的作用是 产生一个可存储的值的表示.unserialize的作用是 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。
更多问题可以去php中文网问答社区提问http://www.php.cn/wenda.html,大神在线帮你解决,希望对你有帮助
G. php 数组 传递
serialize() 序列化,
你只能用js把数组序列化,再用php把数组反序列化,
或把数组放到多个变量中提交,
详情请参考php中文手册,
http://www.php.net/manual/zh/language.oop.serialization.php
http://www.gougou.com/search?search=php%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C&id=1
http://www.gougou.com/search?search=MySQL%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&restype=-1&id=10000001&ty=0
H. php的序列化和反序列化有什么好处
序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。
PHP中的序列化和反序列化分别通过函数serialize()和unserialize()即可实现。serialize()的参数可以是resource类型外的所有变量类型,最常见的是用来序列化对象,unseialize()将serialize的返回结果作为参数,进行反序列化,得到原对象。
在PHP中,序列化和反序列化很多地方都可以用到!~
例如:数据库连接,序列化数组等等。