php对象串行化

news/2024/7/4 1:31:45 标签: php, string, user, function, object, class
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">
class="language-class="tags" href="/tags/PHP.html" title=php>php"><?class="tags" href="/tags/PHP.html" title=php>php
  class User
   {
       public $name;
       public $id;

       class="tags" href="/tags/FUNCTION.html" title=function>function __construct()
       {
           $this->id = uniqid();          //give class="tags" href="/tags/USER.html" title=user>user a unique ID 赋予一个不同的ID
       }

       class="tags" href="/tags/FUNCTION.html" title=function>function __sleep()
       {   
           return(array("name"));        //do not serialize this->name 不串行化name
       }

       class="tags" href="/tags/FUNCTION.html" title=function>function __wakeup()
       {
           $this->id = uniqid();         //give class="tags" href="/tags/USER.html" title=user>user a unique ID,id在反序列化时,被重新赋值
       }
   }

   $u = new User;
   $u->name = "HAHA";

   $s = serialize($u);                   //serialize it 串行化 注意不串行化id属性,id的值被抛弃

   $u2 = unserialize($s);                //unserialize it 反串行化 id被重新赋值

  
   //$u and $u2 have different IDs $u和$u2有不同的ID
   var_dump($u);                        
   var_dump($u2); 

 
?>
结果如下:
class="language-html">class="tags" href="/tags/OBJECT.html" title=object>object(User)[1]
  public 'name' => class="tags" href="/tags/STRING.html" title=string>string 'HAHA' (length=4)
  public 'id' => class="tags" href="/tags/STRING.html" title=string>string '4e546b245baa1' (length=13)

class="tags" href="/tags/OBJECT.html" title=object>object(User)[2]
  public 'name' => class="tags" href="/tags/STRING.html" title=string>string 'HAHA' (length=4)
  public 'id' => class="tags" href="/tags/STRING.html" title=string>string '4e546b245bad1' (length=13)




http://www.niftyadmin.cn/n/761395.html

相关文章

PHP读取服务器端文件提供弹出下载窗口

有些文件需要经过身份验证以后才能下载&#xff0c;我们不容用户知道下载的地址&#xff0c;甚至文件不存放在web文件夹下&#xff0c;感觉是不是做起来比较难呢&#xff1f;用PHP几行就可以了。这是在PHP官方手册提供的例子。<?php $file time.php; if(file_exists($file…

php 导出excel(pack函数用过)

原作者&#xff1a;冰山上的播客 看到这篇文章的时候&#xff0c;很是惊讶原作者的耐心&#xff0c;虽然我们在平时用的也有一些&#xff0c;但没有作者列出来的全&#xff0c;写excel的时候&#xff0c;我用过pear的库&#xff0c;也用过pack压包的头&#xff0c;同样那些利用…

linux服务器之间拷贝文件 scp

上传 scp -r [dir] rootIP:[dir] 下载 scp -r rootIP:[dir] /[dir] scp 命令是 SSH 中最方便有用的命令了&#xff0c;试想&#xff0c;在两台服务器之间直接传送文件&#xff0c;仅仅用 scp 一个命令就完全解决了。你可以在一台服务器上以 root 身份运行 #scp servername:/hom…

使用nohup让程序永远后台运行

使用nohup让程序永远后台运行 Unix/Linux下一般比如想让某个程序在后台运行&#xff0c;很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台&#xff1a; /usr/local/mysql/bin/mysqld_safe --usermysql &但是加入我们很多程序并不象mysqld一样做…

Linux命令详解–crontab

# —————- minute (0 – 59) # | ————- hour (0 – 23) # | | ———- day of month (1 – 31) # | | | ——- month (1 – 12) # | | | | —- day of week (0 – 7) (Sunday0 or 7) # | | | | | # * * * * * command to be executed 推荐记忆为 分 时 日 月 周 服务的…

array_search使用

array_search — 在数组中搜索给定的值&#xff0c;如果成功则返回相应的键名 mixed array_search ( mixed $needle , array $haystack [, bool $strict ] ) 当$strict表示要严格匹配 <?php $arr1 array(1,2,呵呵,2,e,2);$keyName array_search(2,$arr1,true);echo $…

vim编辑器命令

1.vim#在命令行中输入vim,进入vim编辑器2.i#按一下i键,下端显示 --INSERT--#插入命令,在vim中可能任意字符都有作用3.Esc#退出i(插入)命令进行其它命令使用4.:r filename#读入一个文件内容,并写入到当前编辑器中5. :w newfilename #将该编辑器中的内容写入到一个新文件中 6.:w#…

SecureCRT 乱码解决

SecureCRT是一个非常优秀的终端登录工具&#xff0c;可以以telnet ,ssh,串口多种方式从终端登录服务器&#xff0c;并且可以非常方便的进行复制和粘贴&#xff0c;工作原因是我每天必用之工具。但从昨天开始&#xff0c;我的CRT登陆suse操作系统&#xff0c;凡是中文字符都显示…