2015-08-14 45 views
-1

我想,所以我這樣做PHP陣列儘管唯一值大/小寫

$input = array("APPL", "berry", "apple", "berry"); 
$result = array_unique($input); 
print_r($result); 

以去除數組重複值,使之輸出:

蘋果,蘋果,漿果

我想得到的結果像輸出蘋果只有一次,儘管小寫和大寫,我怎麼能做到這一點? PHP中有沒有像「array_unique」這樣的函數,我不得不使用這種情況? (未做所有字符大寫或小寫)

+6

可能重複的[不區分大小寫的陣列\ _unique](http://stackoverflow.com/questions/2276349/case-insensitive-array-unique) – gbestard

+0

[不區分大小寫的array_unique] [ 1] [1]:http://stackoverflow.com/questions/2276349/case-insensitive-array-unique –

+1

首先,我假設你的意思是寫'$ input = array(「APPLE」,「漿果「,」蘋果「,」漿果「);'。其次,如果你正在尋找'['APPLE','apple','berry']的結果,你正在做一個區分大小寫的過濾器,而不區分大小寫。在這種情況下,只需使用['array_unique()'](http://php.net/manual/en/function.array-unique.php) –

回答

1

嘗試此..

<?php 
$input = array("APPLE", "berry", "apple", "berry"); 

$data = array_intersect_key($input, array_unique(array_map('strtolower', $input))); 

print_r($data); 
?> 

https://eval.in/416659

-1

使用:

function array_iunique($array) { 
     return array_intersect_key(
      $array, 
      array_unique(array_map("StrToLower",$array)) 
     ); 
    } 
0

數組是大小寫敏感的。 沒有功能可以在打印時忽略它,但您可能會改變之前的情況。 嘗試此:

$input = array("APPLE", "berry", "apple", "berry"); 
$lower_input = array_map('strtolower', $input); 
$result2 = array_unique($lower_input); 
print_r($result2);