fork(2) download
  1. <?php
  2.  
  3. function make_it_clean($arr) {
  4. function($item) {
  5. return $item['val'];
  6. },
  7. $arr,
  8. function($carry, $item) {
  9. if (!array_key_exists($item, $carry)) {
  10. $carry[$item] = [
  11. 'val' => $item,
  12. 'count' => 0,
  13. ];
  14. }
  15. $carry[$item]['count']++;
  16.  
  17. return $carry;
  18. },
  19. []
  20. ),
  21. function($item) {
  22. return $item['count'] === 1;
  23. }
  24. )
  25. ));
  26. }
  27.  
  28. var_dump(make_it_clean(["Красный", "Желтый", "Красный", "Белый"]));
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
array(2) {
  [0]=>
  string(12) "Желтый"
  [1]=>
  string(10) "Белый"
}