首页 >社区问答列表 >PHP什么函数可以把2c653c8e716f42b67c7aba493ce54dbc中的数字找出来?

PHP什么函数可以把2c653c8e716f42b67c7aba493ce54dbc中的数字找出来?

如题,感谢各位!

  • 辉
  • 辉     2018-03-05 21:22:45 5楼

    $content = '2c653c8e716f42b67c7aba493ce54dbc';
    preg_match_all('/[0-9]/',$content, $match);
    print_r( $match );

    一行代码,即可获得所有数字

    +1 添加回复

  • 回复
  • 66
  • 66     2018-03-05 15:44:10 4楼

    $a = '12ddas45fd8a9fgd6a4f08d9af';
    $c ='';
    for ($i = 0;$i<strlen($a);$i++){
       $b=substr($a,$i,1);
       if (ord($b)<=57 && ord($b)>=48){
           $c .= $b;
       }
    }
    echo $c;

    吧字符串转成 ascii 码 因为数字在ascii 码里的范围是48-57匹配一下就好了

    +0 添加回复

  • 回复
  • 大辉狼
  • 大辉狼     2018-03-05 14:02:47 3楼

    <?php
    $str = '200c653c8e716f42b67c7aba493ce54dbc';
    //将字符串拆分成数组
    $arr =str_split($str);
    $str2 = '';
    
    for($i=0;$i<count($arr);$i++){
        //判断是不是数字
        if (is_numeric($arr[$i])) {
            //拼接
            $str2.=$arr[$i];
        }
    }
    echo $str2;


    +1 添加回复

  • 回复
  • ——
  • ——     2018-03-05 10:58:13 2楼

    可以自己写一段代码来实现

    $arr =str_split('2c653c8e716f42b67c7aba493ce54dbc');

    for($i=0;$i<count($arr);$i++){

    $arr[$i]=(int)$arr[$i];

    }

    $int=implode(',', array_filter($arr));


    +1 添加回复

  • 回复

    代码有问题,字符串中有“0”的话也提不出来啊

    大辉狼 · 2018-03-05 13:03:45
    回复

    is_numeric($str)判断是否为数字, 做一个判断就好了;

    MrSwan · 2018-03-05 13:17:53
    回复

    0会默认为空的,这段代码没问题,测试过的

    —— · 2018-03-05 14:46:48
    回复