> 백엔드 개발 > PHP 튜토리얼 > php序列化函数serialize() 和 unserialize() 与原生函数对比_PHP教程

php序列化函数serialize() 和 unserialize() 与原生函数对比_PHP教程

WBOY
풀어 주다: 2016-07-13 09:54:32
원래의
1061명이 탐색했습니다.

php序列化函数serialize() 和 unserialize() 与原生函数对比

   这篇文章主要介绍了php序列化函数serialize() 和 unserialize() 与php原生序列化方法对比,有需要的小伙伴可以参考下。

  php中有格式化字符串并转换成数组或对象的好方法,即序列化处理。

  有两种序列化变量的方法。

  以下示例,使用 serialize() 和 unserialize() 函数:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

// a complex array

$myvar = array(

'hello',

42,

array(1,'two'),

'apple'

);

 

// convert to a string

$string = serialize($myvar);

 

echo $string;

/* prints

a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}

*/

 

// you can reproduce the original variable

$newvar = unserialize($string);

 

print_r($newvar);

/* prints

Array

(

[0] => hello

[1] => 42

[2] => Array

(

[0] => 1

[1] => two

)

 

[3] => apple

)

*/

  这是原生的 PHP 序列化方法。

  然而,由于 JSON 近年来大受欢迎,PHP5.2 中已经加入了对 JSON 格式的支持。

  现在你可以使用 json_encode() 和 json_decode() 函数:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

// a complex array

$myvar = array(

'hello',

42,

array(1,'two'),

'apple'

);

 

// convert to a string

$string = json_encode($myvar);

 

echo $string;

/* prints

["hello",42,[1,"two"],"apple"]

*/

 

// you can reproduce the original variable

$newvar = json_decode($string);

 

print_r($newvar);

/* prints

Array

(

[0] => hello

[1] => 42

[2] => Array

(

[0] => 1

[1] => two

)

 

[3] => apple

)

*/

  这将更为行之有效,尤其与 JavaScript 等许多其他语言兼容。

  注意:对于复杂的对象,某些信息可能会丢失。

  以上所述就是本文的全部内容了,希望大家能够喜欢。

        :更多精彩教程请关注帮客之家编程

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/996760.htmlTechArticlephp序列化函数serialize() 和 unserialize() 与原生函数对比 这篇文章主要介绍了php序列化函数serialize() 和 unserialize() 与php原生序列化方法对比,有...
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿