如何使用substr_count计算数组中另一个数组中出现的每个元素?
i.e. $urls = array (
'www.thesun.co.uk',
'www.bbcnews.co.uk',
);
$names = array (
'rex kum',
'tony blair',
);
所以,如果我想使用substr_count来计算太阳网页上rex kumi名称的出现次数,那么这将如何运作?
答案 0 :(得分:1)
如果你要做很多事我会把它放在一个函数中但是:
foreach($names as $name)
{
foreach($urls as $url)
{
print "Count for $name and $url is: " . substr_count($url, $name);
}
}
您提出的问题(计算另一个数组中一个数组的实例)与您实际提出的问题不同(计算网站上一个数组的实例)。您实际上想要我的答案和您在加载网站内容时提到的答案的组合。 (使用嵌套的foreach循环)
答案 1 :(得分:0)
它看起来你错过了php基础知识,但是什么是hack。你将使用函数嵌套的foreach循环:
$results = array();
foreach( $urls as $url){
foreach( $names as $key => $name){
if( !isset( $results[$key])){
$results[$key] = 0; // you better initialize elements in separate foreach loop
}
// Strtolower because name may be capitalized, uppercased and so on
$content = strtolower( file_get_contents( $url));
$results[$key] += substr_count( $content, strtolower( $name));
}
}