本文主要记载一些自己使用的方法,会随时更新。
主要是自己的东西存放太乱,这里做一个整理。
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日