fork download
  1. <?php
  2. $CSV = <<<EOF
  3. | id | email | name | google.com | yahoo.com |
  4. | 1 | email1@email.com | jack | | + |
  5. | 2 | email2@email.com | jack | + | |
  6. | 3 | email3@email.com | jack | | |
  7. EOF;
  8. $delimeter = '|';
  9. $lines = explode("\n", $CSV);
  10. $key_names = array_map('trim', array_filter(explode($delimeter, $lines[0]), function($entry){return !empty($entry);}));
  11. $entries = [];
  12. $len = count($lines);
  13. for($c = 1; $c < $len; $c++) {
  14. $line = array_map('trim', array_filter(explode($delimeter, $lines[$c]), function($entry){return !empty($entry);}));
  15. $entry = [];
  16. foreach($line as $key => $value) {
  17. $entry[$key_names[$key]] = $value;
  18.  
  19. }
  20. $entries[] = $entry;
  21. }
  22.  
  23. $only_with_plus = array_filter($entries, function($entry) {
  24. return $entry['google.com'] == '+' && $entry['email'] = 'email2@email.com';
  25. });
  26. var_dump($only_with_plus);
  27.  
  28. // your code goes here
Success #stdin #stdout 0.01s 82560KB
stdin
Standard input is empty
stdout
array(1) {
  [1]=>
  array(5) {
    ["id"]=>
    string(1) "2"
    ["email"]=>
    string(16) "email2@email.com"
    ["name"]=>
    string(4) "jack"
    ["google.com"]=>
    string(1) "+"
    ["yahoo.com"]=>
    string(0) ""
  }
}