It seems like $userAgent can also be of type array; however, parameter $haystack of str_contains() does only seem to accept string, maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-type annotation
29
if (str_contains(/** @scrutinizer ignore-type */ $userAgent, $crawlers)) {