in_array() String Int Comparisons
The default comparison style of in_array() is the relaxed one. Hence, the behavior of that comparison changed in PHP 8.0, so does in_array().
By default, comparing strings and integers may not work as before. This is the case when the string doesn’t convert obviously to an integer.
PHP code
<?php
var_dump(in_array(' 1a', [ 1]));
?>
Before
bool(true)
After
bool(false)
PHP version change
This behavior changed in 8.0.