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日

  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/YFYQ/p/12021470.html
Copyright © 2011-2022 走看看