我有一个脚本并想到使用array_intersect但发现如果数组大小不同,显然它不会检查所有数组值。
在我的情况下,我必须针对两个数组检查URL的部分,一个是域名,另一个是特定字符串:
<?php
$confirm_ref = "http://www.example.com/?x=test&test";
$pp_refz = array_filter(preg_split('(https://|http://|www.|&|=|/|-|\?)', $confirm_ref));
$domains = array("bla.com","bla1.net","bla2.com","bla3.com","bla4.tk","blabla.com","blabla1.com","blabla3.net","example.com");
$strings = array("DIg","AsD","w5L","ptp","ptp.php","hps.php","hide.php","p");
print_r(array_values($pp_refz));
//Check function:
if(array_intersect($pp_refz,$domains,$strings) == true) {
echo "gotcha";
}
?>
即使example.com存在于引用数组($ pp_refz)中,它仍然无法被拾取。这个问题有没有可行的解决方法?或者我在这里遗漏了什么?任何指针将不胜感激。谢谢。
答案 0 :(得分:0)
好吧,我想我尝试将两个数组合并为一个,然后只比较剩下的两个数组:
所以这是最终的工作版本:
xs
也许有人可以解释为什么在与多个阵列进行比较时它不起作用。