6个回答
2017-05-15
展开全部
给你量身写了个函数,应该能满足你的需求
function strint($str){
if($str){
preg_match("/\d+/is",$str,$v);
}
$StrInt = @$v[0];
if($StrInt){
return $StrInt;
}else{
return $str;
}
}
展开全部
$string = 'abcdef';
echo $string[0]; // a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分享两个非常好用的正则提取字符串中数字的方法
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 ) )
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 ) )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$a='你19啊你15啊你16啊';
$b=preg_match_all('/\d+/',$a,$arr);
print_r($arr);
$arr中放置的就是取到的数字,只取一个的话 可以把preg_match_all换成preg_match
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询