PHP - 如何在数组中查找重复值分组
2022-08-30 22:03:30
我有一个字符串值数组,它们有时会形成重复的值模式('a','b','c','d')
$array = array(
'a', 'b', 'c', 'd',
'a', 'b', 'c', 'd',
'c', 'd',
);
我想根据数组顺序找到重复的模式,并按相同的顺序对它们进行分组(以维护它)。
$patterns = array(
array('number' => 2, 'values' => array('a', 'b', 'c', 'd')),
array('number' => 1, 'values' => array('c'))
array('number' => 1, 'values' => array('d'))
);
请注意,[a,b],[b,c]和[c,d]本身不是模式,因为它们位于较大的[a,b,c,d]模式中,最后一个[c,d]集只出现一次,所以它也不是模式 - 只是单个值“c”和“d”
另一个例子:
$array = array(
'x', 'x', 'y', 'x', 'b', 'x', 'b', 'a'
//[.......] [.] [[......] [......]] [.]
);
它产生
$patterns = array(
array('number' => 2, 'values' => array('x')),
array('number' => 1, 'values' => array('y')),
array('number' => 2, 'values' => array('x', 'b')),
array('number' => 1, 'values' => array('a'))
);
我该怎么做?