php

推荐列表 站点导航

当前位置:首页 > 脚本编程 > php >

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

来源:互联网  作者:网友投稿  发布时间:2021-01-10 14:35
这篇文章主要介绍了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 等许多其他语言兼容。

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

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/php/12290.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

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

2021-01-10 编辑:网友投稿

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 等许多其他语言兼容。

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

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/php/12290.shtml

相关文章

风云图片

推荐阅读

返回php频道首页