<?php
$arr = array(
'0' => array('id' => 1, 'name' => 'name1','amount' => 1),
'1' => array('id' => 2, 'name' => 'name1','amount' => 2),
'2' => array('id' => 3, 'name' => 'name3','amount' => 3),
'3' => array('id' => 4, 'name' => 'name4','amount' => 4),
'4' => array('id' => 5, 'name' => 'name5','amount' => 5),
);
$name_list = array_column($arr, null,'id');
$filter = array('id' => 1, 'name' => 'name1','amount' => 1);
foreach($arr as $v) {
if(@$r[$v['name']])
$r[$v['name']]['amount'] += $v['amount'];
else
$r[$v['name']] = $v;
}
$amount= array_values($r);
echo json_encode($amount);
$filter = array('name' => 'name1');
foreach($filter as $k=>$v) {
$positive = array_filter($arr, function($value) use ($k,$v) {
return ($value[$k]==$v);
});
echo json_encode($positive);
}