Функция array_unique() в PHP используется для удаления повторяющихся значений из массива, сохраняя при этом их порядок.
Синтаксис:
array_unique(array $array, int $flags = SORT_STRING): array
- $array — это массив, из которого нужно удалить повторяющиеся значения.
- $flags — необязательный параметр, который определяет способ сравнения значений. По умолчанию используется
SORT_STRING. Другие возможные флаги:SORT_REGULAR— сравнение значений по умолчанию (обычное сравнение).SORT_NUMERIC— сравнение числовых значений.SORT_STRING— сравнение строк (по умолчанию).SORT_LOCALE_STRING— сравнение строк с учетом локали.
Пример 1: Удаление повторяющихся значений из массива
$array = [1, 2, 2, 3, 4, 4, 5];
$result = array_unique($array);
print_r($result);
// Вывод
Array
(
[0] => 1
[1] => 2
[3] => 3
[4] => 4
[6] => 5
)
Пример 2: Использование флага SORT_NUMERIC для удаления повторяющихся чисел
$array = [1, 2, 2, 3, "3", 4, 4, 5];
$result = array_unique($array, SORT_NUMERIC);
print_r($result);
// Вывод
Array
(
[0] => 1
[1] => 2
[3] => 3
[5] => 4
[7] => 5
)
Пример 3: Использование флага SORT_STRING для удаления повторяющихся строк
$array = ["apple", "banana", "apple", "orange", "banana"];
$result = array_unique($array, SORT_STRING);
print_r($result);
// Вывод
Array
(
[0] => apple
[1] => banana
[3] => orange
)
Пример 4: Удаление повторяющихся значений с учетом регистров
$array = ["apple", "Apple", "banana", "banana", "Orange"];
$result = array_unique($array, SORT_REGULAR);
print_r($result);
// Вывод
Array
(
[0] => apple
[1] => Apple
[2] => banana
[4] => Orange
)
Мой пример
$matching_terms = array();
foreach ( $search_words as $word ) {
if ( ! empty( $word ) ) {
$terms = get_terms( array(
'taxonomy' => $search_taxonomies,
'hide_empty' => false,
'search' => $word,
) );
if ( ! is_wp_error( $terms ) && ! empty( $terms ) ) {
$matching_terms = array_merge( $matching_terms, $terms );
}
}
}
$matching_terms = array_unique( $matching_terms, SORT_REGULAR );
