對于平面文件博客系統,我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);
- 1 回答
- 0 關注
- 100 瀏覽
添加回答
舉報
0/150
提交
取消