2014-06-30 2 views
0

안녕하세요 배열을 확인하고 텍스트 상자에서 배열에 삽입하려고합니다.배열의 고유 값 PHP

하지만 중복 값을 삽입하고 싶지 않습니다.

예컨대

######### Inserting first name ##### 
$textbox = 'Jose,'; 

$textarea = Array(); 

$list = explode(',', $list, -1); 

    foreach(array_unique($list) as $key){ 
if ($textbox != $key){ 
    insert (Jose,)into textarea; 
} 
} 

(종료)

########### second name ###### 
    $textbox = 'Carlos,'; 

    $textarea = Array('Jose,'); 

    $list = explode(',' $list, -1); 

    foreach(array_unique($list) as $key){ 
    if($textbox != $key){ 
    insert (Carlos,) into textarea; 
    } 
    } 

(종료)

########### third name ###### 
    $textbox = 'Carlos,'; 

    $textarea = Array('Jose,Carlos,'); 

    $list = explode(',' $list, -1); 

    foreach(array_unique($list) as $key){ 
    if($Carlos != $key){ //$key = Jose 
    insert (Carlos,) into textarea; 
    } //next 
    if($Carlos != $key){ //$key = Carlos 
     insert (Carlos,) into textarea; 
    }else{ 
    It exist; 
    } 
} 

(종료)

여기

내 코드는 ...

foreach (array_unique($viewer) as $viewermi){ 
     if ($userdata['uid'] != $viewermi){ 
     $objResponse->addAppend('viewerlist', 'value', $userdata['uid'].','); 
     $objResponse->addAssign('vieadded', 'value', ''); 
     $objResponse->addAssign('vadded', 'innerHTML', $user.' Added'); 
     $objResponse->addScript('$(\'#btViewAdded\').attr(\'disabled\', true)'); 
     }else{ 
     $objResponse->addAssign('vadded', 'innerHTML', ''); 
     $objResponse->addAlert("It uid had been added! ".$viewermi); 
     $objResponse->addAssign('vieadded', 'value', ''); 
     $objResponse->addScript('$(\'#btViewAdded\').attr(\'disabled\', true)'); 
    } // End If-Else $userdata 
} // End foreach Viewers 

누구든지이 문제를 해결할 수 있습니까?

몇 가지 방법을 시도했지만 시도 할 수 없었습니다.

답변

0
$textbox = 'Carlos,Jose,Carlos,Lauro,Marcos'; 

    $textarea = array(); 

    $list = explode(',' , $textbox); 

    foreach(array_unique($list) as $key){ 
    if(!in_array($key , $textarea)){ 
     $textarea[] = $key; 
    } 
    } 
+0

내가 작성하는 경우 .... '알레한드로'먼저 확인 ... '알레한드로'! = 카를로스? 'alejandro'삽입 $ textbox = 'Carlos, Jose, Carlos, Lauro, Marcos, Alejandro'; ## Then --- '알레한드로'! = '호세'? 'alejandro'삽입 $ textbox = 'Carlos, Jose, Carlos, Lauro, Marcos, Alejandro, Alejandro'; – StriderWaR

+0

아니요, array_unique 함수는 배열에서 모든 중복 항목을 제거하는 작업을 수행하므로 list에는 carlos, jose, lauro 및 marocs가 2 배나되는 carlos 만 포함됩니다. in_array 함수는 이름이 이미 textarea 배열에 있는지 확인합니다. 이렇게하면 텍스트 영역에 중복 된 항목이 절대 생기지 않습니다. – Guerra

+0

우. 나는 그것을 얻었습니다. 먼저 텍스트 영역에 항목이 있는지 확인합니다. 1 개 이상 있으면 ... 텍스트 상자와 비교합니다 ... 다른 경우 텍스트 영역에 텍스트 값을 추가합니다. 그 다음 다른 것을 추가하고 싶습니다. 예 : 텍스트 영역 = 'juan, carlos'; textbox = 'carlos'; ##### --- 먼저 'carlos'를 확인하십시오! = juan? 예 -> carlos 추가 ... 지금 # - textarea = 'juan, carlos, carlos'; ## 'carlos'! = 'carlos'? 아니 ... 아니. – StriderWaR