PHP: array_unique() function

PHP: Removes duplicate values from an array

The array_unique() is used to remove duplicate values from an array.

Note: The keys are preserved. array_unique() sorts the values treated as a string at first, then will keep the first key encountered for every value, and ignore all following keys. It does not mean that the key of the first related value from the unsorted array will be kept.


(PHP 4 and above)


array_unique(array1, sort_flags)


Name Description Required /
array1 The input array. Required Array
sort_flags sort_flags is used to modify the sorting behavior using following values:
SORT_REGULAR - compare items normally.
SORT_NUMERIC - compare items numerically
SORT_STRING - compare items as strings
SORT_LOCALE_STRING - compare items as strings, based on the current locale
Optional Integer

Note: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2 i.e. when the string representation is the same, the first element will be used.

Return value

The filtered array.

Value Type: Array


$fruits_list = array('Orange',  'Apple', ' Banana', 'Cherry', ' Banana');
$result = array_unique($fruits_list);


Array ( [0] => Orange [1] => Apple [2] => Banana [3] => Cherry ) 

Pictorial Presentation:

php function reference: array_unique() function

View the example in the browser

Practice here online :

See also

PHP Function Reference

Previous: array_sum
Next: array_unshift

Follow us on Facebook and Twitter for latest update.

PHP: Tips of the Day

PHP: PHPMailer character encoding issues

If you are 100% sure $message contain ISO-8859-1 you can use utf8_encode as David says. Otherwise use mb_detect_encoding and mb_convert_encoding on $message.

Also take note that

$mail -> charSet = "UTF-8";

Should be replaced by:

$mail->CharSet = 'UTF-8';

And placed after the instantiation of the class (after the new). The properties are case sensitive!

Also the default encoding of PHPMailer is 8bit which can be problematic with UTF-8 data. To fix this you can do:

$mail->Encoding = 'base64';

Take note that 'quoted-printable' would probably work too in these cases (and maybe even 'binary').

Ref : https://bit.ly/3p4HExT