php如何中字符串中把数字提取出来?

php 如何从字符串中提取数字出来


1、正则提取【只提取第一次出现的数字】文章来源地址https://www.yii666.com/learning/php/39.html

<?php
$str ='我是123456一段测试的字789符串00';
preg_match('/\d+/',$str,$number);
print_r($number);
?>

说明:使用 preg_match 函数和正则表达式 /\\d+/ 来从字符串中提取第一次出现的数字。提取结果存储在 $number 变量中,通过 print_r 打印出来。

2、正则提取【字符串中出现的数字都提取出来,数组形式】网址:yii666.com<

<?php
$str ='我是123456一段测试的字789符串00';
preg_match_all('/\d+/',$str,$arr);
print_r($arr);
?>

说明:使用 preg_match_all 函数和正则表达式 /\\d+/ 来从字符串中提取所有出现的数字。提取结果以数组形式存储在 $arr 变量中,并通过 print_r 打印出来。

3、使用 in_array 方法【字符串中出现的数字都提取出来,拼接在一起,字符串形式】注意编码问题

$str='我是123456一段测试的字789符串00';
$str=trim($str);
if (!empty($str)) {
    $key    = ['0','1','2','3','4','5','6','7','8','9'];
    $number = '';
    for ($i = 0;$i < strlen($str);$i++) {
        if (in_array($str[$i],$key)){
            $number .= $str[$i];
        }
    }
}
print_r($number);

说明:首先使用 trim 函数去除字符串两端的空格,然后使用 in_array 方法逐个判断字符串中的字符是否为数字。如果是数字,则将其拼接到 $number 变量中。最终,通过 print_r 打印出提取的数字字符串。网址:yii666.com

4、同 in_array 方法一样使用 is_numeric 方法

<?php
$str = '我是123456一段测试的字789符串00';
$str = trim($str);
if (!empty($str)) {
    $number = '';
    for ($i = 0; $i < strlen($str); $i++) {
        if (is_numeric($str[$i])) {
            $number .= $str[$i];
        }
    }
}
print_r($number);
?>

说明:这种方法与方法三类似,不同之处在于使用了 is_numeric 函数来判断字符是否为数字。提取结果和打印方式与方法三相同。

注意:

  • 需要注意编码问题,确保字符串的编码格式与代码文件的编码格式一致,避免出现乱码或解析错误的情况。

  • 方法一和方法二都使用了正则表达式,可以根据需要修改正则表达式来匹配不同的数字模式。文章来源地址:https://www.yii666.com/learning/php/39.html

  • 方法三和方法四使用了遍历字符的方式,适用于简单的字符串提取操作。如果需要处理大量数据或复杂的规则,请考虑使用正则表达式等更高效的方法。


文章地址https://www.yii666.com/learning/php/39.html

其他相关文章
    领支付宝红包赞助服务器费用
    如何防止 PHP 中的 SQL 注入?
    微信公众号:小猪波罗蜜
    关注公众号,回复999,可联系站长解答疑问哦。每天分享更多有趣的事儿,有趣有料!
    99人已关注
    未经允许不得转载:小戴BOTAOY演示博客 » php如何中字符串中把数字提取出来?

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信图片_20190322181744_03.jpg

    微信扫一扫打赏

    请作者喝杯咖啡吧~

    支付宝扫一扫领取红包,优惠每天领

    二维码1

    zhifubaohongbao.png

    二维码2

    zhifubaohongbao2.png