Php 显示重复结果的嵌套foreach循环
我有一个函数,应该使用Php 显示重复结果的嵌套foreach循环,php,arrays,foreach,nested,Php,Arrays,Foreach,Nested,我有一个函数,应该使用array\u intersect函数将数组匹配在一起。我正在尝试将一个产品名称与多个商家可能提供的同名产品进行匹配。我现在的问题是我正在使用嵌套的foreach循环,每当我运行它时,循环总是无限的,它会打印重复的结果 下面是函数: function get_matching_product3(&$catalogue, $stock) { $stockSmallCase = array_map('strtolower', $stock); $cat
array\u intersect
函数将数组匹配在一起。我正在尝试将一个产品名称与多个商家可能提供的同名产品进行匹配。我现在的问题是我正在使用嵌套的foreach
循环,每当我运行它时,循环总是无限的,它会打印重复的结果
下面是函数:
function get_matching_product3(&$catalogue, $stock) {
$stockSmallCase = array_map('strtolower', $stock);
$catalogueSmallCase = array_map('strtolower', $catalogue);
foreach ($catalogueSmallCase as $key => $value)
{
$catalogueKey = $key;
$catalogueValue = $value;
$catalogueTokens = explode (' ', $catalogueValue);
foreach ($stockSmallCase as $key => $value) {
$stockKey = $key;
$stockValue = $value;
$stockTokens = explode (' ', $stockValue);
$match= array_intersect($stockTokens, $catalogueTokens);
$m = count($match);
$t = count($catalogueTokens);
//echo $m;
//echo $t;
if (($m > 1) && (($m / $t) * 100) >= 90) {
//print_r($match);
echo = $catalogueKey." ".$stockKey;
//echo "</br>";
//echo $stockKey;
}
}
}
return null;
}
函数获取匹配的产品3(&$catalog,$stock){
$stockSmallCase=array_map('strtolower',$stock);
$catalogesmallcase=array_map('strtolower',$catalog);
foreach($catalogesmallcase作为$key=>$value)
{
$catalotekey=$key;
$catalotevalue=$value;
$catalogetokens=爆炸(“”,$catalogetevalue);
foreach($stockSmallCase作为$key=>$value){
$stockKey=$key;
$stockValue=$value;
$stockTokens=爆炸(“”,$stockValue);
$match=array\u intersect($stockTokens,$catalogetokens);
$m=计数($match);
$t=计数($catalogetokens);
//亿美元;
//echo$t;
如果($m>1)&($m/$t)*100)>=90{
//打印(匹配);
echo=$CataloteKey.“.”$stockKey;
//回声“”;
//echo$stockKey;
}
}
}
返回null;
}
您有
foreach ($catalogueSmallCase as $key => $value)
及
我认为问题来自$key和$value变量。在循环的某个时候,php可能会误解它们
试着改变它以区分它 如果您需要一些帮助,您需要发布这两个数组(显然是假值)。否则,很难看到它们的样子。
foreach ($stockSmallCase as $key => $value)