0

二次元配列をテキストファイルに保存する方法を教えてください

インデックス値の要素数が不明な配列がある場合:

$two_darray[unknown][unknown];
4

4 に答える 4

4

この配列をシリアライズするだけです。これをラップしserialize()てファイルに出力できます。その後、後で使用unserialize()してデコードできます。

json_encode()移植性のために、代わりに/を使用して JSON を使用することをお勧めしますjson_decode()

file_put_contents('someFile.json', json_encode($yourArray));
于 2013-07-22T03:26:31.810 に答える
3

実際、@Brad と @Hilmi の回答は正しいですが、JSON のみを使用することが適切なアドバイスであるかどうかはわかりません。

選んでいいですよ

JSON

書きます:file_put_contents('someFile.json', json_encode($two_darray));

読んだ:$two_darray = json_decode(file_get_contents('someFile.txt'));

XML

この答えを見て

シリアル化されたデータ

書きます:file_put_contents('someFile.txt', serialize($two_darray));

読んだ:$two_darray = unserialize(file_get_contents('someFile.txt'));

CSV (MS Excel または一部の DB で使用するため)

$handler = fopen('someFile.csv', 'w+');
foreach ($two_darray as $one_darray) {
    fputcsv($handler, $one_darray);
}

fgetcsvで読む

さらにはSQLite

$db = new SQLiteDatabase('someFile.sqlite');
foreach ($two_darray as $one_darray) {
    $db->query("INSERT INTO `MyTable` VALUES (".implode(',', $one_darray).")");
}

読んだ:$two_darray = $db->sqlite_array_query("SELECT * FROM MyTable");

バイナリの編集(.zip または .tar.gz 用)

pack()を試す

于 2013-07-22T04:06:53.827 に答える
0

配列を文字列にシリアル化してファイルに保存することができます。その配列が必要なときはいつでも、ファイルのコンテンツをシリアル化解除するだけで配列を元に戻すことができます

于 2013-07-22T03:27:27.150 に答える
0
<?php
$arr = array( array('aa', 'aa'), array('bb','bb') );
file_put_contents('/tmp/test',serialize($arr));
var_dump(unserialize(file_get_contents('/tmp/test')));
?>

上記の @Brad で提案されているように、シリアル化/逆シリアル化の代わりに json_encode/json_decode を使用することもできます

于 2013-07-22T03:39:17.227 に答える