2012-03-11 11 views
0

私はこの問題を抱えています。ファイルに配列を書き込んでいますが、一部のサブ配列をunset()するとコンマが残っています。カンマが間違った場所にある

例:

$account_data = include('./*****/AccountData.php'); 

$account_data[$username]['Name']  = $name; 
$account_data[$username]['Password'] = $password; 
$account_data[$username]['RandID'] = $randid; 
$account_data[$username]['PublicD'] = $publicdownload; 
$account_data[$username]['Enabled'] = $enabled; 
$account_data[$username]['Admin'] = $admin; 

$configdata = "<?php\n\nreturn ".var_export($account_data, true)."; \n\n?>"; 

$file = fopen('./*****/AccountDataTest.php', 'w'); 
fwrite($file, $configdata); 
fclose($file); 

私はあなたがそれがコンマを追加して見ることができるように私はこの

<?php 
return array (
    'Ryan' => array (
     'Name' => 'Ryan', 
     'Password' => '', 
     'RandID' => '', 
     'PublicD' => 0, 
     'Enabled' => 1, 
     'Admin' => 0, 
    ), 
    'Chris' => array (
     'Name' => 'Christopher', 
     'Password' => '', 
     'RandID' => '', 
     'PublicD' => 1, 
     'Enabled' => 1, 
     'Admin' => 1, 
    ), 
); 
?> 

を取得日の配列を追加するためにそのコードを実行したとき、私は私の未設定の機能のコードを実行するとAccountData.phpファイルはChrisと同じように見えますが、Ryanの最後には次のカンマがあります。

私はこれを修正する方法がわかりません。私は多くの運がないとグーグルグーグルしています。

+1

http://www.php.net/manual/es/function.var-export.php#51078 –

+0

を確認してください。 – androidavid

+0

アレイのダンプが非常によく見えるので、どのカンマが正確に話していますか(強調してください)。何も間違っていません。 – hakre

答えて

0

私は問題を理解してかどうかわからないんだけど、あなたはおそらく、ファイルにデータを保存するためにserializeunserializeを使用することによって、自分自身に頭痛を大幅に節約します。

+0

これはいいアイデアです。シリアル化してシリアル化するコードを変更するつもりです。 –

+1

ようこそ。私はそれが助けてうれしいです。 –

0

なぜあなたはこれをやりたいのか分からないが、データを変数に格納して、それを単純な正規表現で実行して、最後に余分なカンマを削除してください。 'Admin' => *

正規表現のチュートリアル:http://weblogtoolscollection.com/regex/regex.php

関連する問題