Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 22nd, 2012  |  syntax: None  |  size: 1.86 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Duplicates in an array
  2. $array[1]['first__name'] = 'john';
  3. $array[1]['last_name']   = 'anderson';
  4. $array[1]['sum']         = 100;
  5.  
  6. $array[2]['first__name'] = 'john';
  7. $array[2]['last_name']   = 'anderson';
  8. $array[2]['sum']         = 200;
  9.  
  10. $array[3]['first__name'] = 'julie';
  11. $array[3]['last_name']   = 'Scott';
  12. $array[3]['sum']         = 300;
  13.  
  14. $array[4]['first__name'] = 'Eva';
  15. $array[4]['last_name']   = 'Scott';
  16. $array[4]['sum']         = 300;
  17.  
  18. $array[5]['first__name'] = 'john';
  19. $array[5]['last_name']   = 'anderson';
  20. $array[5]['sum']         = 300;
  21.        
  22. $highest = 0;
  23. foreach ($array as $v){
  24.   if ($v['first_name'] == 'john' && $v['last_name'] == 'anderson'){
  25.     if ($v['sum'] > $highest){$highest = $v['sum'];
  26.   }
  27. }
  28. echo $highest;
  29.        
  30. $scores = array();
  31. foreach( $array as $row ) {
  32.     $name = $row['first_name'] . ' ' . $row['last_name'];
  33.     if( !isset( $scores[$name] ) || ( $row['sum'] > $scores[$name] ) ) {
  34.         $scores[$name] = $row['sum'];
  35.     }
  36. }
  37.        
  38. $array[1]['first_name'] = 'john';
  39. $array[1]['last_name']   = 'anderson';
  40. $array[1]['sum']         = 100;
  41.  
  42. $array[2]['first_name'] = 'john';
  43. $array[2]['last_name']   = 'anderson';
  44. $array[2]['sum']         = 300;
  45.  
  46. $array[3]['first_name'] = 'julie';
  47. $array[3]['last_name']   = 'Scott';
  48. $array[3]['sum']         = 300;
  49.  
  50. $array[4]['first_name'] = 'Eva';
  51. $array[4]['last_name']   = 'Scott';
  52. $array[4]['sum']         = 300;
  53.  
  54. $array[5]['first_name'] = 'john';
  55. $array[5]['last_name']   = 'anderson';
  56. $array[5]['sum']         = 200;
  57.  
  58. $cond = array('first_name' => 'john', 'last_name' => 'anderson');
  59.  
  60. array_walk($array, function($node, $key) use ($cond, &$array) {
  61.     foreach($cond as $k => $v) {
  62.         if(!isset($node[$k]) || $node[$k] != $v) {
  63.             unset($array[$key]);
  64.         }
  65.     }
  66. });
  67. uasort($array, function($a, $b){
  68.     return intval($a['sum']) - intval($b['sum']);
  69. });
  70.  
  71. $result = end($array);