3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getSql($arr) { $sql = 'SELECT id FROM table1 WHERE '; $and = ''; foreach ($arr as $a) { $sql .= $and . "'$a' IN (cat1, cat2, cat3) "; $and = 'AND '; } return $sql; } echo getSql(array('a')); // one choice echo "\n"; echo getSql(array('a', 'b')); // two choices echo "\n"; echo getSql(array('a', 'b', 'c')); // three choices ?>
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.30, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
SELECT id FROM table1 WHERE 'a' IN (cat1, cat2, cat3) SELECT id FROM table1 WHERE 'a' IN (cat1, cat2, cat3) AND 'b' IN (cat1, cat2, cat3) SELECT id FROM table1 WHERE 'a' IN (cat1, cat2, cat3) AND 'b' IN (cat1, cat2, cat3) AND 'c' IN (cat1, cat2, cat3)

preferences:
276.87 ms | 406 KiB | 370 Q