php,如何比较来自不同查询的2个数组?
我有两个查询,我通过执行php,如何比较来自不同查询的2个数组?,php,mysql,pattern-matching,Php,Mysql,Pattern Matching,我有两个查询,我通过执行whyle循环返回一些数据 从第一个查询开始,如果我执行print\r($final\u key)我得到: hey1 hey2 hey3 从第二个开始,如果我执行print\r($final\u key2)我得到: hey1 test hey2 test1 hey3 我试图做的是比较这两个数组并检查匹配的单词 而且我不能直接从数据库里做 有什么想法吗 谢谢 编辑: 这是我的问题1: while ($keywords = mysql_fetch_array($keys1
whyle
循环返回一些数据
从第一个查询开始,如果我执行print\r($final\u key)代码>我得到:
hey1
hey2
hey3
从第二个开始,如果我执行print\r($final\u key2)代码>我得到:
hey1 test
hey2 test1
hey3
我试图做的是比较这两个数组并检查匹配的单词
而且我不能直接从数据库里做
有什么想法吗
谢谢
编辑:
这是我的问题1:
while ($keywords = mysql_fetch_array($keys1, MYSQL_ASSOC)){
foreach ($keywords as $key) {
$plus = '+';
$pos = strripos($key, $plus);
if ($pos === false) { } else {
$clean_plus = preg_replace("/[\+]/", '', $key);
$final_key = str_replace("'", "", $clean_plus);
print_r($final_key);
echo '<br>';
}
}
}
while($keywords=mysql\u fetch\u数组($keys1,mysql\u ASSOC)){
foreach($keywords作为$key){
$plus='+';
$pos=strripos($key,$plus);
如果($pos==false){}else{
$clean\u plus=preg\u replace(“/[\+]/”,“”,$key);
$final_key=str_replace(';“,”,$clean_plus);
打印(最终密钥);
回声“
”;
}
}
}
第二个:
<?php
while ($keywords = mysql_fetch_array($keys)){
if($keywords['kword'] != ''){
echo $keywords['kword'];
} } ?>
我正在尝试将$final_key
与$keywords['kword']匹配代码>在一个数组上循环,并在每次迭代中循环另一个数组
<?php
foreach($array as $item){
foreach($array2 as $item2){
if($item == $item2){
$array3[] = $item;
}
}
}
?>
这将创建一个匹配数组,然后您可以随意使用它。使用它返回一个包含两个数组中的值的数组
如果希望键匹配,请使用。使用array\u intersect
:
array_intersect($array1, $array2, ...);
从文件中:
array_intersect()返回一个数组,该数组包含所有参数中存在的array1的所有值。请注意,关键点是保留的
你能给我们两个阵列的样品吗?ie:array(“one”=>1,“two”,“three”)
所以你想要一个返回“hey3”的函数,因为这是两个数组中唯一完全相同的词?你真的不能只进行DB连接吗?请看我的编辑。加入是毫无疑问的看起来root45有解决方案。。。哎呀,我明白了:array#u diff()[function.array diff]:参数#2不是数组你需要更清楚你的变量类型是什么。首先,你可以说你有两个数组。编辑结束时,看起来您正在比较两个字符串。是哪一个?对不起,我猜它们是字符串如果它们都是字符串,那么为什么不进行标准比较==
?如果一个是数组,另一个是字符串,则可以使用array\u search
。如果要比较两个由空格(或另一个分隔符)分隔的字符串中的子字符串,可以使用将每个子字符串作为数组元素。然后使用array\u intersect
。如果这就是你想做的,你应该编辑你的问题,因为它现在看起来肯定不是这样的。我知道:array_diff()[function.array diff]:Argument#2不是数组array_intersect
对数组有效;如果您试图查看数组中是否存在字符串,那么使用array\u search
可能是一个更好的函数,但如果是这样,您的问题不清楚您在比较什么。