php - 如何从文本文件story.txt中打印最长和最短的单词并在php中找到每个单词的频率?
问题描述
$string = file_get_contents('./story.txt', true);
$words = explode('\n', $string);
$w = array();
foreach ($words as $word) {
$temp = explode(' ', $word);
$w = array_merge($w, $temp);
}
$longestWordLength = 0;
$longestWord = '';
foreach ($w as $word) {
if (strlen($word) > $longestWordLength) {
$longestWordLength = strlen($word);
$longestWord = $word;
}
}
echo $longestWord;
echo strlen($longestWord);
我已经编写了这段代码,但它扫描一个段落的结尾词和下一段的第一个词相同。在以下段落中:
沿着溪流的艺术看起来几乎就像阳光的闪光。
沙漠动物一般都是沙漠的颜色。
在这,
阳光。沙漠
被视为一个词。
解决方案
您可以尝试这种方式从文件文本中获取最长的字符串,我已经从数组中删除了多余的空格和点字符array_map()
function longest_string_in_array($array) {
$array = array_map(function($item) { return trim($item, '. ');},$array);
$mapping = array_combine($array, array_map('strlen', $array));
return $mapping;
}
$string = file_get_contents('./story.txt', true);
$array = preg_split('/[\s]+/', $string );
print_r(longest_string_in_array($array));
推荐阅读
- android - RecyclerView NotifyItemInserted
- wordpress - 如何在 WordPress 的 archive.php 中获取分类产品?
- ecmascript-6 - 如何在 ES6 的 getter 中编写闭包函数?
- javascript - 如何计算数据表中带有下拉列表选择的行组合数
- java - JButton 图标有点偏离
- c# - 写入 BMP 文件失败
- reactjs - material-ui Date Picker 将空值保存为 Redux Form 中的 Date(0)
- python - 按位置将数字从其他列转移到Python中的新列?
- reactjs - 是否可以将一个事件处理程序附加到 React 中的不同组件?
- ios - MapBox 导航剩余时间