1. 程式人生 > 實用技巧 >公共方法整合

公共方法整合

本文主要儲存一些自己使用的公共方法。

主要方法有

1.PHP根據概率產生隨機數

2.PHP 判斷手機號歸屬地 和 運營商的免費介面

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日