zoukankan      html  css  js  c++  java
  • PHP 方法整合类 -- 1.根据概率产生随机数 --2.判断手机号归属地及运营商 --3.过滤emoji表情

    本文主要记载一些自己使用的方法,会随时更新。

    主要是自己的东西存放太乱,这里做一个整理。

    1.PHP根据概率产生随机数

    本方法借鉴:壁虎漫步。 大大的博客。

    原文链接:https://www.cnblogs.com/phpfensi/p/4242293.html

    代码如下:

    $data = array(
        'a' => 10 ,
        'b' => 20 ,
        'c' => 30 ,
        'd' => 40
    );
    echo randomSelect( $data ); 
       
    function randomSelect( &$array ){
        $datas = $array ;
        if( !is_array($datas) || count($datas) == 0 )
            return ;
        asort($datas); //按照大小排序
        $random = rand(1,100);
        $sum = 0 ;
       
        $flag = '';
        foreach($datas as $key => $data ){
            $sum += $data ;
            if( $random <= $sum ){
                $flag = $key;
                break ;
            }
        }
        if( $flag == '' ){ // 如果传递进来的值的和小于100 ,则取概率最大的。
            $keys = array_keys($datas);
            $flag = $keys[count($keys) - 1] ;
        }
        return $flag;
    }
    

      

    先忙了,用到的方法会随时更新。

    2019年12月11日。

    2.PHP 判断手机号归属地 和 运营商的免费接口

    本方法借鉴与:段佳伟的小憩屋  大大的博客。

    原文链接:https://www.cnblogs.com/djwhome/p/9483563.html

    方法如下:

        $mobile = '15812345600';
        $s = file_get_contents('http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel='.$mobile);
        preg_match_all("/(w+):'([^']+)/", $s, $m);
        $a = array_combine($m[1], $m[2]);
    
        $a['province'] = mb_convert_encoding($a['province'], 'utf-8', 'gbk');
        $a['catName'] = mb_convert_encoding($a['catName'], 'utf-8', 'gbk');
        $a['carrier'] = mb_convert_encoding($a['carrier'], 'utf-8', 'gbk');    
        echo "<pre>";
        print_r($a);

    因方法返回的中文格式不对,自己转换了下。

    2019年12月11日。

    3.PHP 过滤表单输入的emoji表情

    本方法借鉴与:小king哥 大大的博客。

    原文链接:https://www.cnblogs.com/jingmin/p/6706704.html

    方法如下:

    // 过滤掉emoji表情
    function filter_Emoji($str)
    {
        $str = preg_replace_callback(    //执行一个正则表达式搜索并且使用一个回调进行替换
                '/./u',
                function (array $match) {
                    return strlen($match[0]) >= 4 ? '' : $match[0];
                },
                $str);
    
         return $str;
     }

    2019年 12月25日

  • 相关阅读:
    java_监控工具jvisualvm
    bzoj3667: Rabin-Miller算法
    bzoj3677: [Apio2014]连珠线
    4070: [Apio2015]雅加达的摩天楼
    4069: [Apio2015]巴厘岛的雕塑
    4071: [Apio2015]巴邻旁之桥
    bzoj2653: middle
    1500: [NOI2005]维修数列
    bzoj4262: Sum
    bzoj4540: [Hnoi2016]序列
  • 原文地址:https://www.cnblogs.com/YFYQ/p/12021470.html
Copyright © 2011-2022 走看看