- Duplicates in an array
- $array[1]['first__name'] = 'john';
- $array[1]['last_name'] = 'anderson';
- $array[1]['sum'] = 100;
- $array[2]['first__name'] = 'john';
- $array[2]['last_name'] = 'anderson';
- $array[2]['sum'] = 200;
- $array[3]['first__name'] = 'julie';
- $array[3]['last_name'] = 'Scott';
- $array[3]['sum'] = 300;
- $array[4]['first__name'] = 'Eva';
- $array[4]['last_name'] = 'Scott';
- $array[4]['sum'] = 300;
- $array[5]['first__name'] = 'john';
- $array[5]['last_name'] = 'anderson';
- $array[5]['sum'] = 300;
- $highest = 0;
- foreach ($array as $v){
- if ($v['first_name'] == 'john' && $v['last_name'] == 'anderson'){
- if ($v['sum'] > $highest){$highest = $v['sum'];
- }
- }
- echo $highest;
- $scores = array();
- foreach( $array as $row ) {
- $name = $row['first_name'] . ' ' . $row['last_name'];
- if( !isset( $scores[$name] ) || ( $row['sum'] > $scores[$name] ) ) {
- $scores[$name] = $row['sum'];
- }
- }
- $array[1]['first_name'] = 'john';
- $array[1]['last_name'] = 'anderson';
- $array[1]['sum'] = 100;
- $array[2]['first_name'] = 'john';
- $array[2]['last_name'] = 'anderson';
- $array[2]['sum'] = 300;
- $array[3]['first_name'] = 'julie';
- $array[3]['last_name'] = 'Scott';
- $array[3]['sum'] = 300;
- $array[4]['first_name'] = 'Eva';
- $array[4]['last_name'] = 'Scott';
- $array[4]['sum'] = 300;
- $array[5]['first_name'] = 'john';
- $array[5]['last_name'] = 'anderson';
- $array[5]['sum'] = 200;
- $cond = array('first_name' => 'john', 'last_name' => 'anderson');
- array_walk($array, function($node, $key) use ($cond, &$array) {
- foreach($cond as $k => $v) {
- if(!isset($node[$k]) || $node[$k] != $v) {
- unset($array[$key]);
- }
- }
- });
- uasort($array, function($a, $b){
- return intval($a['sum']) - intval($b['sum']);
- });
- $result = end($array);