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 个值是不是为数字的主要内容,如果未能解决你的问题,请参考以下文章