-1

我要求通过 PHP 脚本进行序列化和反序列化。只有有时我手动编辑数组(在 database.txt 中)。

4

2 回答 2

2

您可以将数组导出为JSON(JavaScript 对象表示法)字符串,然后再对其进行解码。

您可以分别使用函数json_encode和来做到这一点。json_decode

$a = array(
  'a' => 1,
  'b' => 2,
  'c' => array(1,2,3));
file_put_contents('database.txt', json_encode($a));
// encoded: {a:1,b:2,c:[1,2,3]}

// ---
$a = json_decode(file_get_contents('database.txt'), TRUE);
// specify TRUE to parse objects as assoc. arrays ---^

请注意,所有这一切可能不是最好的主意(我有点担心您选择的文件名——如果您想要一个 DB,那么就使用一个 DB!(例如 sqlite))。

于 2012-11-24T16:59:08.700 回答
1

您应该看一下 JSON 格式。根据您要序列化的数据类型,这应该可以满足您的需求,并且它非常易于阅读且易于编辑。

特别是,您的数组仅限于包含数字、字符串、浮点数、布尔值或其他数组。但是,您既可以存储数字索引数组,也可以存储关联数组。

有关标准的更多信息,请查看http://www.json.org/,有关 php 函数,请参阅http://us2.php.net/json_encodehttp://us2.php.net/ json_decode

于 2012-11-24T16:59:15.417 回答