php 找个能在字符串中取得数字的函数

如$str1='你19啊';//要取得19...
$str1='你19啊'; //要取得19
展开
 我来答
匿名用户
2017-05-15
展开全部

给你量身写了个函数,应该能满足你的需求

function strint($str){
    if($str){
        preg_match("/\d+/is",$str,$v);
    }
    $StrInt = @$v[0];
    if($StrInt){
        return $StrInt;
    }else{
        return $str;
    }
}
miniappfznehs6lq200t
2018-06-14
知道答主
回答量:2
采纳率:0%
帮助的人:1695
展开全部
  • $string = 'abcdef';  

  • echo $string[0];                 // a 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱笑的小帅哥灬
2018-02-17
知道答主
回答量:7
采纳率:0%
帮助的人:5936
展开全部
分享两个非常好用的正则提取字符串中数字的方法
1、提取首次出现的连续的数字方法:$str='http://www.5ixuexiwang.com/phprumenjiaocheng/2017/0322/2175.html';
if (preg_match('|(\d+)|',$str,$r)) echo $r[1];

2、提取字符串中所有数字

echo preg_replace('/\D/s', '', $str);
3、提取字符串中所有数字放入数组

$ex1 = "/\d+/";
preg_match_all($ex1,$str,$arr1);
print_r($arr1);
//执行结果:Array ( [0] => Array ( [0] => 5 [1] => 2017 [2] => 0322 [3] => 2175 ) )
$ex2 = "/\d/";
preg_match_all($ex2,$str,$arr2);
print_r($arr2);
//执行结果:Array ( [0] => Array ( [0] => 5 [1] => 2 [2] => 0 [3] => 1 [4] => 7 [5] => 0 [6] => 3 [7] => 2 [8] => 2 [9] => 2 [10] => 1 [11] => 7 [12] => 5 ) )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的世界3
2013-08-21
知道答主
回答量:36
采纳率:0%
帮助的人:14.6万
展开全部
正则表达式就好啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
元伊说
推荐于2018-06-16 · 超过17用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:47.3万
展开全部
$a='你19啊你15啊你16啊';
$b=preg_match_all('/\d+/',$a,$arr);
print_r($arr);

$arr中放置的就是取到的数字,只取一个的话 可以把preg_match_all换成preg_match

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 5条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式