gpt4 book ai didi

php - 不明白 serialize()

转载 作者:可可西里 更新时间:2023-11-01 13:37:28 26 4
gpt4 key购买 nike

我正在查看此函数:用于 PHP 的 serialize(),但我并不十分了解它的功能。有人可以提供一个简单的输出示例吗?

最佳答案

基本上,serialize 的目标是将任何(几乎) 类型的数据转换为字符串,以便可以传输、存储、...

一个简单的例子:

$my_array = array(
'a' => 10,
'glop' => array('test', 'blah'),
);
$serialized = serialize($my_array);
echo $serialized;

将为您提供以下输出:

a:2:{s:1:"a";i:10;s:4:"glop";a:2:{i:0;s:4:"test";i:1;s:4:"blah";}}


而且,稍后,您可以 unserialize该字符串,以获取原始数据:

$serialized = 'a:2:{s:1:"a";i:10;s:4:"glop";a:2:{i:0;s:4:"test";i:1;s:4:"blah";}}';
$data = unserialize($serialized);
var_dump($data);

会让你:

array
'a' => int 10
'glop' =>
array
0 => string 'test' (length=4)
1 => string 'blah' (length=4)


常见用途包括:

  • 能够(几乎)将任何类型的 PHP 数据从一个 PHP 脚本传输到另一个 PHP 脚本
  • 能够在单个数据库字段中存储(几乎)任何类型的 PHP 数据——即使这在数据库端不是一个很好的做法,但有时它还是很有用的
  • 能够在某些缓存机制(APC、memcached、文件等)中存储数据,您只能在其中存储字符串

但是请注意,当您只使用 PHP 时,使用 serialize 非常有用(因为它是一种特定于 PHP 的格式,几乎可以处理任何类型的 PHP 数据,并且真的很快) ;但是当您还必须使用 PHP 以外的其他东西时,它就不是那么好了(因为它是特定于 PHP 的)。在这些情况下,您可以使用 XML、JSON(请参阅 json_encodejson_decode)...


在 PHP 手册中,您还可以阅读 Object Serialization节,顺便说一句。

关于php - 不明白 serialize(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com