Полезные заметки по веб-программированию PHP, Symfony, Propel, Doctrine, JS, jQuery, ExtJS, HTML, CSS, …

Чистка массива от елементов, значение которых частично содержаться в других елементах

Posted on Апрель 22, 2011


Функция для фильтрации массива. Удаляються елементы массива, значение которых частично содержаться в других елементах.

function array_rm_substr($array)
{
  $haystack = array_map('preg_quote', $array);
 
  foreach ($haystack as $key => $value)
  {
    unset($haystack[$key]);
    if (count(preg_grep("|".$value."|", $haystack)) > 0)
    {
      unset($array[$key]);
    }
  }
 
  return $array;
}

Пример:

 
$array = array('xx', 'xxxxx');
print_r(array_rm_substr($array));
 
// Результат
Array
(
    [1] => xxxxx
)

Для использования данной функции, предварительно необходимо отсортировать массив по длине значения

Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Нет обратных ссылок на эту запись.