我有这个问题我正在为一个文件写一个数组但是当我取消设置()一些子数组它保留逗号或当我添加一个子数组到最后它添加一个逗号。
例如:
$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,
),
);
?>
你可以看到它添加了一个逗号,当我运行我的unset函数时,AccountData.php文件的代码看起来与Chris一样,但它在Ryan结尾处有以下逗号。
我不知道如何解决这个问题我一直在谷歌搜索没有太多运气。
答案 0 :(得分:0)
我不完全确定你为什么要这样做,但是首先将数据存储在一个变量中并通过一个简单的正则表达式运行它以删除最后一个额外的逗号并在'Admin'=&gt;之后删除。 *
答案 1 :(得分:0)
我不确定我是否理解这个问题,但是使用serialize和unserialize将数据保存到文件中可能会让您自己省去很多麻烦。