我必须关联从两个返回以下
的搜索引擎生成的数组Bing:
Array ( [cars.com/] => Array ( [score] => 100 )
[car.com/] => Array ( [score] => 99 )
[car.org/] => Array ( [score] => 98 ).....
谷歌:
Array ( [hertz.com/] => Array ( [score] => 100 )
[edmunds.com/] => Array ( [score] => 99 )
[thrifty.com/] => Array ( [score] => 98 )....
我想创建排名组合数组,bing数组是排名,然后我想添加Google数组,如果google网址数组匹配Bing数组中的网址我想添加分数,如果是网址不匹配然后我只想将它插入数组。
任何想法我将如何实现这一点。 此致
答案 0 :(得分:1)
尝试以下方法:
$combined = array();
foreach($bing as $key=>$value){ // for each bing item
if(isset($combined[$key]))
$combined[$key] += $value['score']; // add the score if already exists in $combined
else
$combined[$key] = $value['score']; // set initial score if new
}
// do the same for google
foreach($google as $key=>$value){
if(isset($combined[$key]))
$combined[$key] += $value['score'];
else
$combined[$key] = $value['score'];
}
print_r($combined); // print results
你可以使用一个函数而不是复制代码..如果你有更多的搜索引擎需要分析,那将是最好的。
答案 1 :(得分:0)
实际上,对基于如何创建组合数组执行操作数组进行基准测试会很有趣。
foreach ($google as $k=>$v){
if(isset($google[$k]) $bing[$k]['score'] += $v['score'];
else $bing[$k] = $v;