[英]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));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.