首页 > 互联资讯 > 建站教程  > 

php分析,php分析get提交表单数据和post提交表单数据的特点区别

本文目录一览:

简单分析PHP中序列化用法介绍

简单分析PHP中序列化用法介绍

序列化在我们学习php中都会有用到了对于序列化我们常用的函数有serialize和unserialize了,希望以下这篇文章能够帮助到各位了解到PHP中序列化用法,具体如下:

0x00 序列化函数

serialize():返回带有变量类型和值的字符串

unserialize():想要将已序列化的字符串变回 PHP 的值

测试代码:

?php

class test{

var $a;

var $b;

function __construct($a,$b,$c){

$a = $a;

$this-b = $b;

}

}

class test1 extends test{

function __construct($a){

$this-a = $a;

}

}

$a = 'hello';

$b = 123;

$c = false;

$d = new test('helloa','hellob','helloc');

$e = new test1('hello');

var_dump(serialize($a));

var_dump(serialize($b));

var_dump(serialize($c));

var_dump(serialize($d));

var_dump(serialize($e));

?

运行结果:

string 's:5:"hello";' (length=12)

string 'i:123;' (length=6)

string 'b:0;' (length=4)

string 'O:4:"test":2:{s:1:"a";N;s:1:"b";s:6:"hellob";}' (length=46)

string 'O:5:"test1":2:{s:1:"a";s:5:"hello";s:1:"b";N;}' (length=46)

序列化字符串格式: 变量类型:变量长度:变量内容 。

如果序列化的是一个对象,序列化字符串格式为:

变量类型:类名长度:类名:属性数量:{属性类型:属性名长度:属性名;属性值类型:属性值长度:属性值内容}

将上述结果反序列化输出,执行结果:

string 'hello' (length=5)

int 123

boolean false

object(test)[1]

public 'a' = null

public 'b' = string 'hellob' (length=6)

object(test1)[1]

public 'a' = string 'hello' (length=5)

public 'b' = null

0x01 对象序列化

当序列化对象时,PHP 将在序列动作之前调用该对象的成员函数 sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 wakeup()成员函数。

在serialize()函数执行时,会先检查类中是否定义了 sleep()函数,如果存在,则首先调用 sleep()函数,如果不存在,就保留序列字符串中的所有属性。

在unserialize()函数执行时,会先检查是否定义了 wakeup()函数。如果 wakeup()存在,将执行__wakeup()函数,会使变量被重新赋值。

serialize()测试代码:

?php

class test{

var $a;

var $b;

function __construct($a,$b,$c){

$this-a = $a;

$this-b = $b;

}

function __sleep(){

echo "b has changed"."n";

$this-b = 'hib';

return $this-b;

}

function __wakeup(){

echo "a has changed"."n";

$this-a = 'hia';

}

}

class test1 extends test{

function __construct($a){

$this-a = $a;

}

}

$d = new test('helloa','hellob','helloc');

$e = new test1('hello');

serialize($d);

serialize($e);

var_dump($d);

var_dump($e);

?

执行结果:

b has changed b has changed

object(test)[1]

public 'a' = string 'helloa' (length=6)

public 'b' = string 'hib' (length=3)

object(test1)[2]

public 'a' = string 'hello' (length=5)

public 'b' = string 'hib' (length=3)

unserialize()测试代码:

class test{

var $a;

var $b;

function __construct($a,$b,$c){

$this-a = $a;

$this-b = $b;

}

function __sleep(){

echo "b has changed"."n";

$this-b = 'hib';

return $this-b;

}

function __wakeup(){

echo "a has changed"."n";

$this-a = 'hia';

}

}

class test1 extends test{

function __construct($a){

$this-a = $a;

}

}

$d = 'O:4:"test":2:{s:1:"a";N;s:1:"b";s:6:"hellob";}' ;

如何分析PHP职位要点

php学习成本低,但是要精通也不简单,写出一个好程序需要对php的一些基本要点精通熟练否则会出现难以理解的错误。比如php的一些函数isset,is_null,empty的区别,其中又和php的数据类型关联起来。如果判断错误,会导致程序下一步操作出现错误(常见因为sql查询条件为空出错)。最好我们在程序中加入错误异常处理。

1,php语法,数据类型和php函数精通熟练。

2,懂得OOP编程概念并掌握一个php mvc框架,加快开发效率,增加代码利用率和资源可重复利用,代码也会更加清 晰明了,可维护性高。

3,安全性。了解网站常见的攻击方式(XSS,csrf,sql-injection等)。

4,性能优化。(服务器,php,mysql,nosql)。

5,熟悉js,ajax和html。熟悉http/ip协议。

7,掌握lnmp,lamp,iis服务环境的搭建和php的运行原理。

php分析域名

php分析域名!写法方法!调用就可以得出域名

? //转载保留来源于 // ####################### 分析域名 ####################### function phpzygetname($url) { $referer = preg_replace("/?://([^/]+) */i" " " $url); $referer = str_replace(" " "" $referer); return $referer; } ? lishixinzhi/Article/program/PHP/201311/21148


php分析,php分析get提交表单数据和post提交表单数据的特点区别由讯客互联建站教程栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“php分析,php分析get提交表单数据和post提交表单数据的特点区别