comp_csv.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. require_once "../dict/troub_split.php";
  3. global $result;
  4. $myfile = fopen("comp.csv", "a");
  5. $filefail = fopen("comp_fail.txt", "a");
  6. $dns = "sqlite:" . _FILE_DB_WORD_INDEX_;
  7. $dbh_word = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true));
  8. $dbh_word->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  9. $query = "SELECT * from wordindex where 1";
  10. $stmt = $dbh_word->query($query);
  11. $iMax = 5;
  12. while ($word = $stmt->fetch(PDO::FETCH_ASSOC)) {
  13. $arrword = split_diphthong($word["word"]);
  14. fputcsv($myfile, array($word["word"], implode("+", $arrword), 90));
  15. foreach ($arrword as $oneword) {
  16. $result = array(); //全局变量,递归程序的输出容器
  17. mySplit2($oneword, 0, false);
  18. echo "{$oneword}:" . count($result) . "\n";
  19. if (count($result) > 0) {
  20. arsort($result); //按信心指数排序
  21. $iCount = 0;
  22. foreach ($result as $row => $value) {
  23. $iCount++;
  24. fputcsv($myfile, array($oneword, $row, $value));
  25. if ($iCount >= $iMax) {
  26. break;
  27. }
  28. }
  29. } else {
  30. fwrite($filefail, $oneword . "\n");
  31. }
  32. }
  33. }