php+根据相同值分组,PHP – 如何在数组中找到重复的值分组

我有一个字符串数组,有时会形成重复的值模式(‘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'))

);

我该怎么做?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值