2014-06-30 83 views
0

你好,我正在嘗試驗證一個數組並從文本框中插入它。來自陣列的唯一值PHP

但我不想插入重複的值。

e.g

######### 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

,如果我寫的...... '亞歷杭德羅·' 首先它檢查... '亞歷杭德羅'!=卡洛斯? insert'alejandro' $ textbox ='Carlos,Jose,Carlos,Lauro,Marcos,Alejandro';然後--- 'Alejandro'!='Jose'? '插入'亞歷杭德羅' $ textbox ='卡洛斯,何塞,卡洛斯,勞羅,馬科斯,亞歷杭德羅,亞歷杭德羅'; – StriderWaR

+0

不,array_unique函數將使工作從數組中消除所有重複項,所以列表將包含carlos,jose,lauro和marocs兩次carlos,in_array函數將檢查名稱是否已經存在於textarea數組中。所以這樣你的textarea永遠不會得到重複的條目。 – Guerra

+0

Oooh。我得到它....我第一次檢查textarea是否有任何條目...如果它有1或更多...我與文本框比較...如果它不同,我將文本框值添加到textarea。那麼我想添加另一個。例如textarea ='juan,carlos'; textbox ='carlos'; ##### ---首先檢查'carlos'!= juan? yes-> add carlos ... now# - textarea ='juan,carlos,carlos'; ##'carlos'!='carlos'?不...不適用。 – StriderWaR