fork download
  1. <?php
  2.  
  3. $data = [
  4. '1234',
  5. '0033', // This needs to be a string otherwise it'll become '27'
  6. '1155',
  7. '2277',
  8. '1288',
  9. '8888'
  10. ];
  11.  
  12. function compare($number) {
  13. // Compare first 2 numbers
  14. if (intval($number[0]) !== intval($number[1])) {
  15. return false;
  16. }
  17.  
  18. // Compare last 2 numbers
  19. if (intval($number[2]) !== intval($number[3])) {
  20. return false;
  21. }
  22.  
  23. // Make sure first and last numbers aren't the same
  24. if (intval($number[0]) === intval($number[3])) {
  25. return false;
  26. }
  27.  
  28. return true;
  29. }
  30.  
  31. $data = array_filter($data, 'compare');
  32. $data2 = array_filter($data, function($number) {
  33. return intval($number[0]) === intval($number[1]) && intval($number[2]) === intval($number[3]) && intval($number[0]) !== intval($number[3]);
  34. });
  35.  
  36. // Output using compare
  37. print_r($data);
  38.  
  39. // Output using closure
  40. print_r($data2);
Success #stdin #stdout 0s 82880KB
stdin
Standard input is empty
stdout
Array
(
    [1] => 0033
    [2] => 1155
    [3] => 2277
)
Array
(
    [1] => 0033
    [2] => 1155
    [3] => 2277
)