繁体   English   中英

PHP文件处理硬件

[英]PHP File Handling hw

$handle = fopen("mytext.txt", "r");

echo fread($handle,filesize("mytext.txt"));
echo preg_match("/[0-9]/","",$handle);

fclose($handle);

我想打开一个文本文件,查找文本中有多少位数。 我尝试使用preg_match但我认为这不是正确的方法。

preg_match()接受Handle资源。 哪个不正确:

$handle = fopen("mytext.txt", "r");

$content = fread($handle,filesize("mytext.txt"));
$noDigit = preg_match("/[0-9]/","",$content);

fclose($handle);

您应该使用preg_match_all() preg_match()仅匹配第一个结果。

另外,您的正则表达式正在寻找一个数字值。 您应该使用\\d+来匹配一个或多个数字的所有实例(即匹配1、20和3580243)。

$subject = "String with numbers 4 8 15 16 23 42";
$matches = array();
preg_match_all('\d+', $subject, $matches);

然后,要对它们进行计数,您可以循环遍历$ matches中的匹配项并增加一个计数器变量。

编辑:此外,您可能会使用file_get_contents()获得更好的结果,而不是使用fopen,fread,fclose。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM