Задать вопрос
@IgorRastarov

Как удалить повторяющиеся значения в двумерном массиве?

Привет!
Подскажите, пожалуйста, такая проблема. Есть массив

Array
(
[0] => Array
	(
		[ID] => 4887
		[IBLOCK_ID] => 302
		[NAME] => Производитель
		[TEST] => Основное
	)

[1] => Array
	(
		[ID] => 4888
		[IBLOCK_ID] => 302
		[NAME] => Производство
		[TEST] => Основное
	)

[2] => Array
	(
		[ID] => 4889
		[IBLOCK_ID] => 302
		[NAME] => Частота
		[TEST] => Не основные характеристики
	)

)

Видите, у первого и второго повторяется значение ключа TEST. Мне нужно оставить только одно.
Массив многомерный, поэтому array_unique нельзя
Скрипт
$new_arr = array() ;
$result_res = array() ;

foreach ($arr as $key => $value) {
		$new_arr[$key] = $value['TEST'] ;
}

$new_arr = array_unique($new_arr) ;

foreach ($new_arr as $key => $value) {
		$new_arrs[$key] = $arr[$key] ;
}

echo "<pre>";
   print_r($new_arrs);
echo "</pre>";

На выходе полностью удаляет второй массив. То есть не только ключ => значение, а весь
[1] => Array
	(
		[ID] => 4888
		[IBLOCK_ID] => 302
		[NAME] => Производство
		[TEST] => Основное
	)
  • Вопрос задан
  • 270 просмотров
Подписаться 1 Средний 2 комментария
Ответ пользователя Андрей К ответам на вопрос (2)
VladimirAndreev
@VladimirAndreev
php web dev
newArr = array();
foreach(arr as item) {
if(!isset(newArr[item.Test]) {
newArr[] = item;
}
}
Ответ написан