2012-03-11 5 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

그럼 쉼표 2 개가 있습니까? – androidavid

+0

배열 덤프가 매우 잘 보이기 때문에 정확히 어떤 쉼표로 말합니까? (강조 표시하십시오)! 그게 잘못이 아니야. – hakre

답변

0

은 내가 문제를 이해한다면 모르겠지만, 당신은 아마 파일에 데이터를 저장 serializeunserialize를 사용하여 자신에게 두통을 많이 저장합니다.

+0

좋은 생각입니다. serialize하고 unserialize를 사용하기 위해 제 코드를 변경하려고합니다. –

+1

여러분을 환영합니다. 도움이 된 것을 기쁘게 생각합니다. –

0

왜 이렇게하고 싶지는 모르겠지만 변수에 데이터를 저장하고 맨 끝에서 여분의 쉼표를 제거하기 위해 간단한 정규식을 통해 실행하십시오. 'Admin'=> *

정규식 자습서 : http://weblogtoolscollection.com/regex/regex.php