原文地址:https://www.toymoban.com/diary/php/39.html
php 如何从字符串中提取数字出来
1、正则提取【只提取第一次出现的数字】
<?php $str ='我是123456一段测试的字789符串00'; preg_match('/\d+/',$str,$number); print_r($number); ?>
2、正则提取【字符串中出现的数字都提取出来,数组形式】
<?php $str ='我是123456一段测试的字789符串00'; preg_match_all('/\d+/',$str,$arr); print_r($arr); ?>
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);
4、同 in_array 方法一样使用 is_numeric 方法