计算变量输出到文本文件的次数

时间:2015-08-23 08:04:56

标签: php

我最近学习使用PHP创建简单的Web表单,然后可以将其输出到外部位置的文本文件。

填写表格中的数据以这种方式填写:

$data = "$FirstName | $LastName | $Var1 | $Var2 | $Var3 | \n";
$file = fopen("text.txt", "a");
fwrite($file, $data);

fclose($fh);

这很好用 - 但是我现在正在尝试创建一个输出,其中我可以检查变量$ Var1 / 2/3被选中的次数(这些在表单中表示为复选框 - 它们要么是空白的(在文件中看起来像| |)或者在其中分配变量的名称(例如| Blue Car |

我将如何输出变量" Blue Car"是否存在于文本文件中,并将其回显/打印到网页?

目前文件的样子如下:

Jon | Snow | Blue Car | | |
Ben | Dover | | Red Car | Green Car |
Tom | Riddle | Blue Car | | Green Car |
Cave | Johnson | Blue Car | Red Car | |
Rebecca | White |  | Red Car | |

我在请求回答此问题之前查看的页面:

  • This有一个大致的想法但是是单变量而不是出现在" |的字符串中|" S
  • This在我的案例中使用数组而不是从文本文件中提取数据。
  • 我也查看了here并理解了一些代码(爆炸,使用" for"语句),但我不知道是否可以利用它来解决我的问题。

我是php编码的初学者,如果可能的话,请解释一下你回答的代码是什么/它是如何工作的。 非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令获取变量在文本文件中显示的次数:

//read the contents of file as a String
$data = file_get_contents("text.txt") or exit("Could not open file");

//match the word "Blue Car"
preg_match_all("/Blue Car/",$data,$result);

//prints 3 for your example
echo count($result[0]);