为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算数组中具有相同名称的数字键

如何计算数组中具有相同名称的数字键

PHP
慕神8447489 2023-03-04 16:22:47
对于平面文件博客系统,我txt在目录中有一些文件data/articles。一个 txt 文件如下所示:id_20200430223049                    // idFriends                              // categoryuploads/mainimage_5eab357970b0d.jpeg // imageOfficials wanted                     // titlecomment<br />comment<br />comment    // comment我如何计算所有 txt 文件的每个类别的类别数?所以可以说:我有6 个文本文件。在每个文件的第 2 行:其中 2 个属于俱乐部类别其中 2 个属于同事类别1 有类别家庭和 1 有类别朋友到目前为止我所拥有的:$files = glob("data/articles/*.txt"); // Specify the file directory by extension (.txt)$cat_lines = array();foreach($files as $file) {        $lines = file($file); // all lines of file in array        $cat_lines[] = strtolower($lines[1]); // grab the category lines and put in array}print_r($cat_lines);给我这个输出:Array ( [0] => friends [1] => family [2] => club [3] => colleagues [4] => club [5] => colleagues )要计算我使用的数组中键的数量:echo count (array_keys( $cat_lines, strtolower("Club") ) );不幸的是,它给了我0作为输出而不是2!!!我不明白这个...但除此之外,我最终想要实现的目标是:我如何创建一个 foreach 循环来给我这样的输出:Friends (1)Family (1)Club (2)Colleagues (2)
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

可能您的项目$lines有换行符。这意味着它club与 不一样club\n

FILE_IGNORE_NEW_LINES当您显式使用file()或修剪值时使用:

$lines = file($file, FILE_IGNORE_NEW_LINES); // all lines of file in array WITHOUT linebreaks

至于你的第二个问题 -array_count_values会给你新的数组,其中包含每个元素的数量:

$counts = array_count_values($cat_lines);


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信