2012-11-24 28 views

回答

2

您可以将数组导出为JSON(JavaScript Object Notation)字符串,稍后再解码它。

您可以分别使用功能json_encodejson_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(例如sqlite的)!)。

+0

对于OP:'json_decode()'需要将第二个参数设置为(bool)TRUE,否则数据将被解码为一个PHP对象而不是数组。就我个人而言,我会看看你的服务器是否首先安装了[YAML](http://www.php.net/manual/en/book.yaml.php),因为它稍微容易阅读IMO。 –

1

你应该看看JSON格式。根据你正在序列化的数据类型,这应该做你想做的事情,而且它非常易读,并且很容易编辑。

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

有关标准的详细信息,看看http://www.json.org/和PHP函数,见http://us2.php.net/json_encodehttp://us2.php.net/json_decode

相关问题