2 回答
TA贡献1816条经验 获得超4个赞
对于每个文件:读取它,检索第 7 行,用逗号分隔该行,对于该行中的每个字符串,将其添加到唯一键数组中,使用该字符串作为数组键。
$unique_tags = [];
foreach ( glob("data/articles/*.txt") as $file ) {
$lines = file($file, FILE_IGNORE_NEW_LINES);
$tags = explode( ',', $lines[7] ); // 7th line is the tag line. Put all the tags in an array
// Process each tag:
foreach ( $tags as $key ) {
$unique_tags[ $key ] = $key;
}
}
那时,$unique_tags将包含所有唯一键(作为键和值)。
TA贡献1809条经验 获得超8个赞
根据上面的答案,另一种选择是使用array_count_values。在这种情况下,数组的所有键都是唯一的,但它还会计算数组中出现的键数:
$files = glob("data/articles/*.txt");
foreach($files as $file) { // Loop the files in the directory
$lines = file($file, FILE_IGNORE_NEW_LINES);
$tags = explode( ',', strtolower($lines[7]) ); // 7th line is the tag line. Put all the tags in an array
// Process each tag:
foreach ($tags as $key) {
$all_tags[] = $key; // array with all tags
//$unique_tags[$key] = $key; // array with unique tags
}
}
$count_tags = array_count_values($all_tags);
foreach($count_tags as $key => $val) {
echo $key.'('.$val.')<br />';
}
您的输出将类似于:
aaa(2) // 2 keys found with aaa
bbb(2) // 2 keys found with bbb
ccc(2) // 2 keys found with ccc
- 2 回答
- 0 关注
- 183 浏览
添加回答
举报