Link in progress
Обо мне
Запись дублирующих значений из массива PHP

Запись дублирующих значений из массива PHP

Get duplicate values from PHP array

Сегодня мы решим задачу записи дублирующих значений из массива PHP. В предидущем посте я показал как можно удалить дублирующие значение из массива PHP. Сегодня мы получим эти значения и запишем в массив.

Для записи дублирующих значений из массива PHP мы можем использовать две функции:
array_diff_assoc().
array_diff().
Какая разница между этими двума функциями вы можете почитать на официальном сайте PHP. Я буду использовать array_diff_assoc().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// duplicates: UA, UR, ME
$aray = array('UA','UA','UA' 'ME', 'GER', '1', 12, 'UA', 'UR', 'UR', 'ME');

$duplicates = array_diff_assoc($aray, array_unique($aray));
// var_dump()
var_dump( $duplicates );

array(6) {
  [1]=> string(2) "UA"
  [2]=> string(2) "UA"
  [3]=> string(2) "UA"
  [8]=> string(2) "UA"
  [10]=> string(2) "UR"
  [11]=> string(2) "ME"
}

Как мы это получили: мы используя функцию array_diff_assoc() передаем ей 2 массива. Один массив — без обработки, тоесть тот который у нас на входе, другой тот же массив передаем через функцию array_unique() которая вернет нам массив без дублирующих значений. В результате мы сравниваем «чистый» массив и входной массив. В результате мы получим все елементы, которые выбросила функция array_unique() и записываем в нужный нам массив.

Также мы может отсеять дубли выходного массива:

1
2
3
4
5
6
7
8
9
10
$duplicates = array_unique(array_diff_assoc($aray, array_unique($aray)));

// var_dump()
var_dump( $duplicates );

array(3) {
  [1]=> string(2) "UA"
  [9]=> string(2) "UR"
  [10]=> string(2) "ME"
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Max quality, min price, min time expenditure
Send me a message to: work@glogla.net
Portfolio