You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何获取字符串中的首个数字并统计数字总数?

PHP获取字符串首个数字并统计数字总数的实现

刚好做过类似的需求,给你一个简洁的PHP实现方案,直接上可运行的代码:

<?php
$numbers = "1, 2, 3";

// 提取字符串中的首个数字
preg_match('/\d/', $numbers, $firstMatch);
// 处理字符串无数字的边界情况,避免报错
$firstNumber = $firstMatch[0] ?? '未找到数字';

// 统计字符串中所有数字的总数
preg_match_all('/\d/', $numbers, $allMatches);
$totalCount = count($allMatches[0]);

// 输出预期格式的结果
echo "$firstNumber 是首个数字,共$totalCount个数字";
?>

代码细节解释:

  • 获取首个数字:用preg_match()结合正则/\d/(匹配单个数字字符),只抓取第一个出现的数字,结果存放在$firstMatch数组中。用??空合并运算符处理字符串中没有数字的边界情况,防止出现数组下标不存在的报错。
  • 统计数字总数:preg_match_all()会匹配字符串中所有符合规则的数字,把所有匹配结果存入$allMatches数组,统计数组长度就能得到单个数字字符的总个数。
  • 测试你给出的示例字符串"1, 2, 3",运行后会精准输出你预期的内容:1 是首个数字,共3个数字。

额外适配说明:

如果你的需求是提取首个连续数字序列(比如字符串是"abc123, 45"时,要提取123而不是单个的1),只需要把正则改成/\d+/即可;如果统计总数要按数字序列的个数算,同样把统计用的正则换成/\d+/就行,根据实际需求调整很灵活。

内容的提问来源于stack exchange,提问作者eComet Office

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:39:57