亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php英文單詞統計器

2020-03-22 18:21:17
字體:
來源:轉載
供稿:網友
本文實例為大家分享了英文單詞統計器php 實現,供大家參考,具體內容如下程序開始運行, 按"瀏覽"鈕選擇一個英文文檔, 再按"統計 Statistics"鈕, 即可得到按字母順序列出的所有單詞,及其出現的次數
用于測試的數據文檔: data.txt
驅動程序:word.php
output.php 和 StringTokenizer.php 是 要求在同一個文件夾中的程序
1. words_statistics_PHP.png 2. word.php
html style background-color:#CF6; width:100px; margin:5px; /style body * 程序開始運行, 按"瀏覽"鈕選擇一個英文文檔, 再按"統計"鈕, * 即可得到按字母順序列出的所有單詞,及其出現的次數 * 作者: 許同春 author Tongchun Xu * @開源中國 Open Source, Chna communiity * 完成日期:2016年6月10日 completion date: 10 June, 2016require("StringTokenizer.php");require("output.php"); if($_POST['submit']){ if ($_FILES["file"]["error"] 0) echo "Error: " . $_FILES["file"]["error"] . " br / else {$myfile = fopen($_FILES["file"]["tmp_name"], "r") or die("Unable to open file!");$str = fread($myfile,filesize($_FILES["file"]["tmp_name"]));$delim = " //,. /:!/"()/t/n/r/f%";$st = new StringTokenizer($str, $delim);echo '找到字符串: '.$st- countTokens();$list=new LinkedList(); while ($st- hasMoreTokens()) { $list- orderInsert($st- nextToken());$list- words_count();$list- traversal();fclose($myfile); h2 英文文檔單詞統計 Statistics on English words /h2 p 程序開始運行, 按"瀏覽"鈕選擇一個英文文檔, 再按"統計 Statistics"鈕, 即可得到按字母順序列出的所有單詞,及其出現的次數 /p form action="word.php" method="post"enctype="multipart/form-data" label for="file" 英文文檔名 File Name: /label input type="file" name="file" id="file" / input type="submit" name="submit" value="統計 Statistics" / /form /body /html 3. output.php
meta charset="utf-8" / * The class LinkedList allows an application to store strings in * alphabetical order by calling orderInsert(). * 此處定義的 LinkedList 類,可以調用它的 方法 orderInsert(),來以字母 * 大小的順序儲存 英文字符串。 * 同時記錄 英文單詞出現的次數 * 作者: 許同春 author Tongchun Xu * @開源中國 Open Source, China communiity * 完成日期:2016年6月10日 completion date: 10 June, 2016class Node{ public $data; public $frequency; public $next; function __construct($data, $next = null, $frequency = 1){ $this- data = $data; //英文字符串 $this- next = $next; //指向后繼結點的指針 $this- frequency=$frequency; //英文字符串出現的次數class LinkedList{ private $head; //單鏈表的頭結點,不存儲數據 function __construct(){//單鏈表的構造方法 //頭結點的數據為"傀儡", 不代表 任何數據 $this- head = new Node("dummy 傀儡"); $this- first = null; function isEmpty(){ return ($this- head- next == null);/* orderInsert($data) 方法, * 按給定字符串 $data 的大小, 將其安插到適當的位置, * 以保證單鏈表中字符串的存儲,始終是有序的。 function orderInsert($data){ $p = new Node($data); if($this- isEmpty()){ $this- head- next = $p; else { $node= $this- find($data); if(!$node){ $q = $this- head; while($q- next != NULL && strcmp($data, $q- next- data) 0 ){ $q = $q- next; $p- next = $q- next; $q- next = $p; }else $node- frequency++; function insertLast($data){//將字符串插到單鏈表的尾部 $p = new Node($data); if($this- isEmpty()){ $this- head- next = $p; else{ $q = $this- head- next; while($q- next != NULL) $q = $q- next; $q- next = $p; function find($value){//查詢是否有給定的字符串 $q = $this- head- next; while($q- next != null){ if(strcmp($q- data,$value)==0){ break; $q = $q- next; if ($q- data == $value) return $q; else return null; function traversal(){//遍歷單鏈表 if(!$this- isEmpty()){ $p=$this- head- next; echo "輸出結果: table tr echo " td ".$p- data." br 出現次數:".$p- frequency." /td $n=1; while($p- next != null){ $p=$p- next; echo " td ".$p- data." br 出現次數:".$p- frequency." /td $n++; if ($n%11==0) echo " /tr tr echo " /tr /table }else echo "鏈表為空!";
* @author Azeem Michael * @example The following is one example of the use of the tokenizer. The code: * code * php * $str = "this is:@/t/n a test!"; * $delim = " !@:'/t/n/0"; // remove these chars * $st = new StringTokenizer($str, $delim); * echo 'Total tokens: '.$st- countTokens().' br/ * while ($st- hasMoreTokens()) { * echo $st- nextToken() . ' br/ * prints the following output: * Total tokens: 4 * this * is * test * /code class StringTokenizer { /** @var string private $string; /** @var string private $token; /** @var string private $delim; * Constructs a string tokenizer for the specified string. * @param string $str String to tokenize * @param string $delim The set of delimiters (the characters that separate tokens) * specified at creation time, default to " /n/r/t/0" public function __construct($str, $delim=" /n/r/t/0") { $this- string = $str; $this- delim = $delim; $this- token = strtok($str, $delim); * Destructor to prevent memory leaks public function __destruct() { unset($this); * Calculates the number of times that this tokenizer's nextToken method can * be called before it generates an exception * @return int - number of tokens public function countTokens() { $counter = 0; while($this- hasMoreTokens()) { $counter++; $this- nextToken(); $this- token = strtok($this- string, $this- delim); return $counter; * Tests if there are more tokens available from this tokenizer's string. It * does not move the internal pointer in any way. To move the internal pointer * to the next element call nextToken() * @return boolean - true if has more tokens, false otherwise public function hasMoreTokens() { return ($this- token !== false); * Returns the next token from this string tokenizer and advances the internal * pointer by one. * @return string - next element in the tokenized string public function nextToken() { $hold = $this- token; //hold current pointer value $this- token = strtok($this- delim); //increment pointer return $hold; //return current pointer value以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持phpstudy。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久中文字幕国产| 在线播放精品一区二区三区| 26uuu亚洲伊人春色| 日韩最新中文字幕电影免费看| 欧美视频在线免费看| 欧美猛男性生活免费| 亚洲无av在线中文字幕| 91成人天堂久久成人| 精品一区电影国产| 国产一区玩具在线观看| 一夜七次郎国产精品亚洲| 日韩av片免费在线观看| 欧美视频免费在线| 亚洲久久久久久久久久久| 欧美午夜性色大片在线观看| 色99之美女主播在线视频| 亚洲精品一区在线观看香蕉| 在线激情影院一区| 国产精品久久久久久av福利软件| 国产精品日韩在线播放| 亚洲综合在线播放| 精品国产乱码久久久久久婷婷| 成人激情视频在线观看| 亚洲国产精品va在看黑人| 国产精品一区二区三区在线播放| 久久亚洲一区二区三区四区五区高| 久久天天躁狠狠躁夜夜av| 青青青国产精品一区二区| 日韩在线视频观看| 97国产在线观看| 国产日韩在线观看av| 中文字幕国产日韩| 国产成人a亚洲精品| 俺去了亚洲欧美日韩| 日韩精品在线视频| 国产男人精品视频| 欧美国产乱视频| 欧美一区二区三区精品电影| 国产97色在线|日韩| 欧美日韩爱爱视频| 综合136福利视频在线| 国产香蕉精品视频一区二区三区| 国产精品∨欧美精品v日韩精品| 亚洲成av人影院在线观看| 国产精品揄拍一区二区| 亚洲新声在线观看| 精品国产乱码久久久久久虫虫漫画| 日本一区二区不卡| 欧美久久久精品| 久久精品欧美视频| 欧美日韩激情网| 国产精品久久久久久久久久久久久久| 亚洲欧美制服丝袜| 国产拍精品一二三| 亚洲欧美成人精品| 国产精品都在这里| 日本高清久久天堂| 久久99视频精品| 日韩精品丝袜在线| 欧美电影免费观看网站| 国产美女直播视频一区| 成人久久一区二区三区| 国产精品999999| 一区二区三区四区在线观看视频| 欧美日韩国产限制| 国内精品伊人久久| 日韩在线免费av| 欧美激情欧美激情| 国产精品电影久久久久电影网| 久久久久中文字幕| 疯狂蹂躏欧美一区二区精品| 久久精品在线播放| 国产小视频91| 精品日韩视频在线观看| 91精品久久久久久久久久久久久| 中文字幕不卡在线视频极品| 国产精品视频一区二区高潮| 日韩黄在线观看| 久久国产精品影片| 日韩av网站导航| 亚洲最大福利视频网站| 欧美性猛交xxxx黑人猛交| 国产日韩欧美综合| 国产在线a不卡| 国产日韩精品一区二区| 欧美高清视频免费观看| 91极品女神在线| 日韩高清av一区二区三区| 日韩欧美精品免费在线| 青青草成人在线| 欧美日韩第一页| 亚洲а∨天堂久久精品9966| 久久天天躁狠狠躁夜夜躁| 久久人人97超碰精品888| 亲子乱一区二区三区电影| 欧美亚州一区二区三区| 日韩在线www| 成人国产精品久久久久久亚洲| 中文字幕视频在线免费欧美日韩综合在线看| 91亚洲国产成人久久精品网站| 91成人在线观看国产| 欧美日韩国产色| 成人女保姆的销魂服务| 中文.日本.精品| 亚洲第一网站免费视频| 亚洲理论片在线观看| 精品久久久香蕉免费精品视频| 国产女人18毛片水18精品| 日韩精品免费在线视频观看| 97色在线观看免费视频| 欧美在线性视频| 九九久久精品一区| 亚洲免费伊人电影在线观看av| 综合久久五月天| 亚洲女同精品视频| 国语自产在线不卡| 亚洲成人网在线观看| 日本三级久久久| 国产激情久久久| 夜夜嗨av一区二区三区免费区| 国产精品老女人精品视频| 欧美一区二区视频97| 这里只有精品在线播放| 国产脚交av在线一区二区| 精品国产老师黑色丝袜高跟鞋| 欧美乱大交xxxxx| 久久久噜噜噜久久| 久久精品国产亚洲7777| 亚洲欧美国产制服动漫| 韩国精品美女www爽爽爽视频| 欧美大尺度在线观看| 欧美在线视频在线播放完整版免费观看| 国产精品久久久久久久午夜| 精品久久久久久久大神国产| 国产精品一区二区三区久久久| 亚洲aa在线观看| 欧美精品久久久久久久久久| 久久久久久亚洲精品| 亚洲综合社区网| 日韩精品视频免费| 久久6免费高清热精品| 欧美激情视频一区二区三区不卡| 日韩在线欧美在线国产在线| 亚洲成人国产精品| 国内精品一区二区三区四区| 亚洲国产精品国自产拍av秋霞| 亚洲jizzjizz日本少妇| 精品视频在线播放色网色视频| 欧美黄色成人网| 国产免费久久av| 日日骚久久av| 国产日本欧美视频| 九色成人免费视频| 在线日韩日本国产亚洲| 欧美日韩成人在线视频| 国产精品96久久久久久| 欧美午夜www高清视频| 78m国产成人精品视频| 欧美日韩999| 欧美一级成年大片在线观看| 96精品久久久久中文字幕| 国产精品久久色| 久久亚洲精品一区| 国产精品男人的天堂|