3v4l.org

run code in 300+ PHP versions simultaneously
<?php $spamWords = ['blah', 'nah', 'hah', 'spam', 'spamm']; $spamMessage = 'Here we go blah blah blah'; // this is the way you do this $spam = 0; foreach ($spamWords as $spamWord) { if (strpos($spamMessage, $spamWord) === false) { echo 'This keyword aint here, previous value - ' . $spam . PHP_EOL; $spam = 0; } else { $spam++; echo 'I am spam' . PHP_EOL; } } if ($spam === 0) { echo 'not spam' . PHP_EOL; } else { echo 'spam' . PHP_EOL; } // well obviously, you will echo 'spam' only if lastword from your spam-words will be present // so you need to keep your variable echo 'Right approach' . PHP_EOL; $spam = 0; foreach ($spamWords as $spamWord) { if (strpos($spamMessage, $spamWord) !== false) { $spam++; } } // now works as expected if ($spam === 0) { echo 'not spam'; } else { echo 'spam'; }
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 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.19, 8.3.0 - 8.3.7
I am spam This keyword aint here, previous value - 1 This keyword aint here, previous value - 0 This keyword aint here, previous value - 0 This keyword aint here, previous value - 0 not spam Right approach spam

preferences:
128.8 ms | 403 KiB | 185 Q