当前位置: 代码迷 >> PHP >> 【集锦】PHP常用小函数【概率,毫秒,IP】
  详细解决方案

【集锦】PHP常用小函数【概率,毫秒,IP】

热度:69   发布时间:2016-04-28 23:37:37.0
【汇总】PHP常用小函数【概率,毫秒,IP】
/** * 概率计算 * @param array('a'=>0.5, 'b'=>0.2) * @return string (key of array, eg. 'a' or 'b') */function random($ps) {    $arr = array();    $key = md5(serialize($ps));    if(!isset($arr[$key])) {        $max = array_sum($ps);        foreach($ps as $k => $v) {            $v = $v / $max * 10000;            for($i=0; $i<$v; $i++) {                $arr[$key][] = $k;            }        }      }    return $arr[$key][mt_rand(0, count($arr[$key])-1)];}

?

/**  * 返回毫秒数  *   * @return float  */function microtime_float() {	list($a, $b) = explode(' ', microtime());	return ((float)$a + (float)$b) * 1000;}

?

/**  * 取得客户端IP  */function get_client_ip(){   if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))       $ip = getenv("HTTP_CLIENT_IP");   else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))       $ip = getenv("HTTP_X_FORWARDED_FOR");   else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))       $ip = getenv("REMOTE_ADDR");   else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))       $ip = $_SERVER['REMOTE_ADDR'];   else       $ip = "unknown";   return($ip);}
?

...

  相关解决方案