2013-10-19 2 views
0

저는 PHP에 완전히 익숙하지 않으며, 제가하는 일을 정말로 모르지만, 논리를 이해합니다.PHP로 텍스트 파일에서 중복 된 이름을 제거하십시오.

나는이 스크립트 마녀가 사용자 1과 8의 사용자를 나열하므로 사용자 8이 사용자 일 때도 사용자 1 인 것입니다. 사용자 클래스 1은 단지 1입니다. 내가 필요한 것은 중복 된 사용자 이름 사용자가 클래스 8에있을 때.

어떤 도움을 많이 주시면 감사하겠습니다! 내 스스로 지금 몇 시간 동안 노력 해왔다!

<?php 

    require_once("../../class2.php"); 

    function list_users($uclass = 1){ 

    $u_sql = new db(); 
    $result = array(); 

    $query = "SELECT user_id, user_class, user_name FROM #user WHERE find_in_set('{$uclass}', user_class) ORDER BY user_id"; 

    if ($u_sql->db_Select_gen($query, true)){ 

     while ($row = $u_sql->db_Fetch(MYSQL_ASSOC)){ 
      $result[] = $row['user_name']; 
     } 

    } 
    if (count($result)) 
    { 
     return implode("\n", $result); 
    } 
    else 
    { 
     return ("Ingen i klasse ". $uclass); 
    } 
} 
$text = list_users(1)."\n".list_users(8); 

$file = "reserved_slots.txt"; 
    $handle = fopen($file, 'w') or die("can't open file"); 
    $data = $text; 
    fwrite($handle, $data); 
    fclose($handle); 

$ns->tablerender($text);`enter code here` 

답변

0

사용 PHP의 array_unique 기능 http://php.net/manual/en/function.array-unique.php

$text = list_users(1)."\n".list_users(8); 

$names = explode("\n", $text); 
$names = array_unique($names); 
$text = implode("\n", $names); 

$file = "reserved_slots.txt"; 
+0

너무 감사합니다! 그게 효과가 있었어! :-D – Tommy

+0

@ 토미 당신은 환영합니다.이 대답을 받아 들일 수도 있습니다. – adesh