PHP - 如何检查一行中字符串的前 4 个值是不是为数字

Posted

技术标签:

【中文标题】PHP - 如何检查一行中字符串的前 4 个值是不是为数字【英文标题】:PHP - How to check if the first 4 values of a string on a line are numericalPHP - 如何检查一行中字符串的前 4 个值是否为数字 【发布时间】:2013-12-22 06:10:03 【问题描述】:

对不起,如果这是一个简单的问题,我刚从一名 Jr. 系统管理员进入网络开发,所以我还是个新手。

作为我的第一个项目,我正在构建一个 php web 应用程序,它将上传一个会计文件(纯文本),逐行解析,去除多余的东西,然后显示它。

我已经完成了上传和显示部分(使用fopen和fgets逐行返回)。

现在我想知道的是如何让 php 只回显以 4 个数字开头的行(原因是每个新页面上都有标题和标题,它是一个多页文档,并且帐号范围从 4 个数字到 8 个数字)。

是否可以使用 substr() 或 mb_substr() 指定检查 fgets() 输出的每个新行的前 4 个字符,然后使用 is_numeric() 检查它们是否为数字?

PS:对不起,如果我的术语有点不对劲。我拥有金融学位,并且一直在自学编码,完全不同的世界哈哈。

【问题讨论】:

对于大文件,您可以使用stream_get_line 而不是fgets 【参考方案1】:

我相信你的意思是前 4 个字符是数字。您可能想为此使用正则表达式:

if (preg_match('/^\d4.*/', $yourSingleLineString))

    //it is starting by 4 digits so do what you need to

preg_match 检查您的字符串是否与给定的模式匹配。该模式实际上说: 从行首 (^) 开始,数字 (\d) 重复 4 次 (4),然后是任何字符 (.) 零次或多次 (*)。

【讨论】:

以上是关于PHP - 如何检查一行中字符串的前 4 个值是不是为数字的主要内容,如果未能解决你的问题,请参考以下文章

来自 1 个输入的 2 个值,PHP MySQL

比较字符串 PHP 的前 4 个字符

PHP函数获取数组的前5个值

如何检查一行是不是有列表中的一个字符串? [复制]

Shell如何检查文件中的一行中是不是存在模式

计数、排序 desc 并选择 ASP.NET 的前 4 个值