- array_unique
- Parameters
- Return Values
- Changelog
- Examples
- Notes
- See Also
- array_unique
- Список параметров
- Возвращаемые значения
- Список изменений
- Примеры
- Как удалить элемент массива в PHP?
- 1. Удаляем элемент массива в PHP
- 2. Как удалить 1-й элемент массива?
- 3. Как удалить последний элемент массива?
- 4. Как удалить пустые элементы из массива?
- 5. Удаляем повторяющиеся элементы массива в PHP
- 📜Как удалить повторяющиеся значения из массива в PHP
- You may also like
- 📜 Чтение файла построчно на Bash
- 📧 В чем разница между IMAP и POP3
- ✔️ Как управлять контейнерами LXD от имени обычного.
- 📜 Руководство для начинающих по созданию первого пакета.
- Феноменальная популярность электроники Xiaomi: основные причины
- 📜 Получение вчерашней даты в Bash: Практическое руководство
- Использование специальных гелей при мышечных болях
- 📦 Как расширить/увеличить файловую систему VxFS на Linux
- Услуги по размещению серверного оборудования в ЦОД
- Для чего выполняется ИТ консалтинг на предприятиях?
- Leave a Comment Cancel Reply
- • Свежие записи
- • Категории
- • Теги
- • itsecforu.ru
- • Страны посетителей
- IT is good
array_unique
Принимает входной array и возвращает новый массив без повторяющихся значений.
Обратите внимание, что ключи сохранены. Если несколько элементов сравниваются как равные под заданными flags , то ключ и значение первого равного элемента будут сохранены.
Примечание : два элемента считаются равными тогда и только тогда, когда (string) $elem1 === (string) $elem2 т.е. когда строковое представление одинаково, будет использоваться первый элемент.
Parameters
Необязательные flags второго параметра могут использоваться для изменения поведения сортировки с использованием этих значений:
Флаги сортировочного типа:
- SORT_REGULAR — сравнивать элементы в обычном режиме (не менять типы)
- SORT_NUMERIC — сравнить элементы численно
- SORT_STRING — сравнивать элементы как строки
- SORT_LOCALE_STRING — сравнивать элементы как строки на основе текущего языкового стандарта.
Return Values
Возвращает отфильтрованный массив.
Changelog
Version | Description |
---|---|
7.2.0 | Если flags — SORT_STRING , ранее array был скопирован, а неуникальные элементы были удалены (без последующей упаковки массива), но теперь новый массив создается путем добавления уникальных элементов. Это может привести к разным числовым индексам. |
Examples
Пример # 1 array_unique () Пример
$input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); ?>
Выводится приведенный выше пример:
Array ( [a] => green [0] => red [1] => blue )
Пример # 2 array_unique () и типы
$input = array(4, "4", "3", 4, 3, "3"); $result = array_unique($input); var_dump($result); ?>
Выводится приведенный выше пример:
array(2) < [0] => int(4) [2] => string(1) "3" >
Notes
Примечание : обратите внимание, что array_unique () не предназначен для работы с многомерными массивами.
See Also
PHP 8.2
(PHP 5,7,8)array_uintersect_assoc Вычисляет пересечение массивов с дополнительной проверкой индекса,сравнивает данные функцией обратного вызова Обратите внимание,что
(PHP 5,7,8)array_uintersect_uassoc Вычисляет пересечение массивов с дополнительной проверкой индексов,сравнивает данные и индексы с помощью отдельных функций обратного вызова
(PHP 4,5,7,8)array_unshift Добавление одного или нескольких элементов в начало массива array_unshift()добавляет переданные элементы в начало Примечание:Сброс.
(PHP 4,5,7,8)array_values Возвращает все значения массива array_values()возвращает все значения from и индексы в числовом виде.
array_unique
Принимает входной array и возвращает новый массив без повторяющихся значений.
Обратите внимание, что ключи сохранятся. array_unique() сначала сортирует значения как строки, сохраняет первый встреченный ключ для каждого значения и игнорирует все последующие ключи. Это не означает, что первый ключ каждого значения неотсортированного array будет сохранён.
Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление, то будет использован первый элемент.
Список параметров
Можно использовать необязательный второй параметр sort_flags для изменения поведения сортировки с помощью следующих значений:
- SORT_REGULAR — нормальное сравнение элементов (типы не меняются)
- SORT_NUMERIC — элементы сравниваются как числа
- SORT_STRING — элементы сравниваются как строки
- SORT_LOCALE_STRING — сравнивает элементы как строки, с учетом текущей локали.
Возвращаемые значения
Возвращает отфильтрованный массив.
Список изменений
Версия | Описание |
---|---|
5.2.10 | Значение по умолчанию параметра sort_flags изменено обратно на SORT_STRING . |
5.2.9 | Добавлен необязательный параметр sort_flags , по умолчанию равный SORT_REGULAR . До версии 5.2.9, это функция сортировала массив с помощью SORT_STRING . |
Примеры
Пример #1 Пример использования array_unique()
$input = array( «a» => «green» , «red» , «b» => «green» , «blue» , «red» );
$result = array_unique ( $input );
print_r ( $result );
?>?php
Результат выполнения данного примера:
Array ( [a] => green [0] => red [1] => blue )
Пример #2 array_unique() и типы:
$input = array( 4 , «4» , «3» , 4 , 3 , «3» );
$result = array_unique ( $input );
var_dump ( $result );
?>?php
Результат выполнения данного примера:
Как удалить элемент массива в PHP?
Одним из мощнейших инструментов PHP-разработчика являются массивы. Если вы работали с массивами в других языках программирования (Delphi, Fortrain, C++), то помните, что везде массив надо объявлять, указывая размерность и тип элементов. В PHP всё обстоит иначе.
Дело в том, что в PHP массив не является линейным объектом. Это, по сути, хеш-массив, представляющий собой набор пар — ключей с их значениями.
Теперь давайте посмотрим, как удалять элементы из хеш-массива в PHP. В вышеупомянутых языках программирования для таких действий придётся создавать специальный объект, односвязный либо 2-связный список, бережно выделять и освобождать память, наблюдать за восстановлением связей в списке. Что касается PHP, то тут весь необходимый «менеджмент» спрятан, но всегда готов к применению.
1. Удаляем элемент массива в PHP
Чтобы удалить элемент в PHP, достаточно всего лишь знать его ключ — в таком случае удаление будет сведено к вызову функции unset() :
php $a = array('a','b','c'); unset($a[1]); //удаляем элемент с ключом «1» print_r($a); //на экране отобразится: Array ( [0] => a [2] => c ) ?>
2. Как удалить 1-й элемент массива?
Если не знаем ключ, но знаем, что удалять надо 1-й элемент массива, подойдёт функция array_shift() . Она извлечёт значение 1-го элемента, удалит его из массива и выполнит перенумерацию числовых ключей, начав с нуля.
php $stack = array(3 => 'a', 5 => 'b', 'third element' => 'c'); $elm = array_shift($stack); print_r($stack); //на экране отобразится: Array ( [0] => b [third element] => c ) ?>
В нашем случае 1-й элемент удаляется, а элемент 5 => ‘b’, попадает под перенумерацию. Что касается элементов со строковыми ключами, то их перенумерация не затронет.
3. Как удалить последний элемент массива?
Схожим образом выполняют удаление последнего элемента массива. Для этого в PHP есть функция array_pop() .
php $stack = array(3 => 'a', 5 => 'b', 'third element' => 'c'); $elm = array_pop($stack); print_r($stack); //на экране отобразится: Array ( [3] => a [5] => b ) ?>
После удаления последнего элемента массива в PHP перенумерация оставшихся элементов не выполняется.
4. Как удалить пустые элементы из массива?
Сначала вспомним, что называют пустым элементом. Лучше всего определить «пустое значение» помогает результат работы функции empty() . Функция возвратит true для пустого элемента, причем не только скалярного. Убедимся в этом на примере ниже:
php $stack = array(3 => 'a', 5 => 'b', '3rd' => 'c', array(), null, false, 0, '', '0', '00'); foreach ($stack as $k => $v) if (empty($v)) unset($stack[$k]); print_r($stack); //на экране отобразится : Array ( [3] => a [5] => b [3rd] => c [12] => 00 ) ?>
Итак, мы в цикле проверим каждый элемент массива, используя функцию empty() и удалим пустые элементы. Здесь важно понять, что строковый скаляр ‘0’ — тоже пустой элемент. А вот ’00’ пустым не является.
Если считаете, что поэлементная проверка массива — неоптимальный вариант, воспользуйтесь функцией сравнения массивов в PHP — array_diff() , перечислив с её помощью все элементы, которые считаем «нулевыми»:
php $stack = array(3 => 'a', 5 => 'b', '3rd' => 'c', array(), null, false, 0, '', '0', '00', ' '); $stack = array_diff($stack, array(array(), null, false, 0, '', '0', '00', ' ')); print_r($stack); //на экране отобразится: Array ( [3] => a [5] => b [3rd] => c ) ?>
Очевидно, что данный способ более гибок.
5. Удаляем повторяющиеся элементы массива в PHP
Порой возникает необходимость удалить повторяющиеся элементы массива в PHP. Для решения этой задачи существует специальная функция под названием array_unique() :
php $stack = array('a', 'b', 'b', 'c', 'c', 0, '0'); $stack = array_unique($stack); print_r($stack); //на экране отобразится: Array ( [0] => a [1] => b [3] => c [5] => 0 ) ?>
Из кода видно, что функция удалила из PHP-массива повторяющиеся элементы. При этом функция имеет ещё один параметр, указывающий, как сравнивать элементы.
Возможные типы сравнения: • SORT_REGULAR — сравнение без преобразования типа элементов; • SORT_STRING — сравнение как строки; • SORT_NUMERIC — сравнение как чисел (пытаемся преобразовать в число); • SORT_LOCALE_STRING — сравнение как строки, но с учётом выбранного набора символов.
По умолчанию применяется SORT_STRING. Выбирая типы сравнения, помните, что это важно. Давайте изменим тип в прошлом примере на SORT_NUMERIC:
php $stack = array('a', 'b', 'b', 'c', 'c', 0, '0'); $stack = array_unique($stack, SORT_NUMERIC); print_r($stack); //на экране отобразится: Array ( [0] => a ) ?>
Во время сравнения все элементы массива были преобразованы к численному типу скаляра. В нашем случае это неизменно давало значение ноль, в результате чего у нас остался лишь первый элемент.
Хотите знать о PHP больше? Записывайтесь на курс «Backend-разработчик на PHP»!
📜Как удалить повторяющиеся значения из массива в PHP
Пример скритп PHP для удаления всех повторяющихся значений из массива.
Рабочий пример удаления повторяющихся значений массива с помощью PHP.
"green", "green", "blue", "b" => "green", "red"); // Remove duplicate elements from an array $result = array_unique($array); print_r($result); ?>Array ( [a] => green [1] => blue [2] => red )itisgood
☁️ Инфраструктура как код и ее значение
🛠️ Как решить ошибку «Temporary failure in name resolution»
You may also like
📜 Чтение файла построчно на Bash
📧 В чем разница между IMAP и POP3
✔️ Как управлять контейнерами LXD от имени обычного.
📜 Руководство для начинающих по созданию первого пакета.
Феноменальная популярность электроники Xiaomi: основные причины
📜 Получение вчерашней даты в Bash: Практическое руководство
Использование специальных гелей при мышечных болях
📦 Как расширить/увеличить файловую систему VxFS на Linux
Услуги по размещению серверного оборудования в ЦОД
Для чего выполняется ИТ консалтинг на предприятиях?
Leave a Comment Cancel Reply
• Свежие записи
• Категории
• Теги
• itsecforu.ru
• Страны посетителей
IT is good
На сегодняшний день услуги системного администратора становятся все более востребованными как у крупных, так и у мелких организаций. Однако важно понять, что это за специалист,…
В мире компьютерных игр Steam, платформа разработанная компанией Valve, является одной из самых популярных и широко используемых. Она предоставляет огромный выбор игр для…
В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…
В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…
Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…