$source = ['domain.com', 'subdomain.value.com'];
$str = ['value.com', 'blur.de', 'hey.as'];
How to check if any of $str
is present in $source
?
I've tried in_array
or array_intersect
but both seem to check for exact values, so none match.
In this example, it should match as 'value.com' is present in 'subdomain.value.com'.
CodePudding user response:
You could replace elements in $source
with elements in $str
and see how many replacements were made:
str_replace($str, '', $source, $count);
echo $count;
CodePudding user response:
<?php
$source = ['domain.com', 'subdomain.value.com', 'hey.as'];
$str = ['value.com', 'blur.de', 'hey.as'];
function any_item_in_array($needles, $haystack) {
foreach($needles as $needle) {
if (in_array($needle, $haystack)) return true;
}
return false;
}
$found = any_item_in_array($str, $source);