fork download
  1. <?php
  2.  
  3. // The array containing all tags
  4. $tags = [
  5. 'Tag3,Tag10,Tag2',
  6. 'Tag1,Tag3,Tag10',
  7. 'Tag5,Tag1,Tag3',
  8. 'Tag8,Tag4,Tag20',
  9. 'Tag20,Tag100,Tag500',
  10. 'Tag1,Tag2,Tag3' // MATCH
  11. ];
  12.  
  13. $products = array();
  14. $search = ['Tag1', 'Tag2', 'Tag3'];
  15. $taglist = array_map(function ($v) { return explode(',', $v); }, $tags);
  16.  
  17. foreach ($taglist as $sub) {
  18. if (count(array_intersect($sub, $search)) == count($search)) {
  19. $products[] = implode(',', $sub);
  20. }
  21. }
  22.  
  23. print_r($products);
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Tag1,Tag2,Tag3
)