繁体   English   中英

数组中的PHP收集相同的数组

[英]php in array collect same array

我在PHP中有这个数组:

$a = [
['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
['name'=>'yag' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
];

我想在一个阵列中收集相同的阵列。 有人可以帮忙吗? 我需要像这样的结果

 [
  [
   ['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'salvar','type'=>'Qt','count'=>'1','price'=>'10','total'=>'7']
  ],
  [
   ['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
   ['name'=>'corab' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7'],
  ],
  [
   ['name'=>'yag' ,'type'=>'Qt','count'=>'1','price'=>'10','total'=>'7']
  ]
 ]

可以通过标准功能完成

$res = [];
foreach(array_count_values(array_map('json_encode', $a)) as $k=>$v) {
    $res[] = array_fill(0, $v, json_decode($k, true));
}

eval.in上的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM