php mt_rand与rand函数区别与实例

 更新时间:2016年11月25日 16:03  点击:1361
关于这两个函数他们有一个区别就是mt_rand效率要高到rand哦。

mt_rand与rand函数区别与实例
下面我们来看看mt_rand函数的实例吧。

function roll () {
  return mt_rand(1,6);
  }
  echo roll();

function roll ($sides) {
  return mt_rand(1,$sides);
  }
  echo roll(6); // roll a six-sided die
  echo roll(10); // roll a ten-sided die
  echo roll(20); // roll a twenty-sided die
再看一个rand函数的实例吧。

function cn111 () {
  return rand(1,6);
  }
  echo cn111();

下面的一段代码是一段简单的php+json用户注册返回json数据哦,因为在做flash互动时经常会用到flash与json数据交换哦,我们所用php实时返回并且输出json

<?php
 require_once("../Inc/Conn.php");
 require_once("../Inc/function.php");
 /*
  接收flash post 数据
  Date"2009.04.24
 */
 
 
 $User_Name = Get_value('User_name',1);
 $User_Pass = Get_value('User_Pass',1);
 $Puser_Pass = Get_value('Puser_Pass',1);
 $User_Mail = Get_value('User_Mail',1);
 $User_Baby_Sex = Get_value('User_Baby_Sex',1);
 $year = Get_value('year',1);
 $month = Get_value('month',1);
 $day = Get_value('day',1);
 $User_Prov = Get_value('User_Prov',1);
 $User_City = Get_value('User_City',1);
 $User_rname = Get_value('User_rname',1);
 $User_Zip = Get_value('User_Zip',1);
 $User_Hand = Get_value('User_Hand',1);
 $User_YesNo = Get_value('User_YesNo',1);
 $User_Address = Get_value('User_Address',1);
 
 if( empty( $User_Name ) || strlen( $User_name ) >8 ){
  
  ShowMsg("{"result":"false"}");
 
 }elseif( empty( $User_Pass ) || ( $User_Pass != $Puser_Pass ) ) {
  
  ShowMsg("{"result":"false"}");
  
 }elseif( !@preg_match("/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/",$User_Mail) || strlen($User_Mail)<6 ){
  
  ShowMsg("{"result":"false"}");
 
 }elseif( empty( $User_Prov ) || empty( $User_City ) ){
  
  ShowMsg("{"result":"false"}");
 
 }elseif( !empty( $User_rname ) ){
  
  if( strlen( $User_rname )> 6){
   
   ShowMsg("{"result":"false"}");
   
  }
 }
 if( !empty( $User_Address )){
 
  if( strlen( $User_Address )>100 ){
   
   ShowMsg("{"result":"false"}");
   
  }
  
 }
 
 if( !empty( $User_Zip ) ){  
   
  if( !strlen( $User_Zip )== 6 || !is_numeric( $User_Zip )){
  
   ShowMsg("{"result":"false"}");
  }
  
 }
 if( is_numeric( $User_Hand ) ){
  
  if( !@preg_match("/d{11}/",$User_Hand) ){
   
   ShowMsg("{"result":"false"}");
   
  }
 }
 
 $User_Baby_Birth =@iconv('utf-8','gb2312',"$year 年 $month 月 $day 日");
 
 $sheng = @iconv('utf-8','gb2312',$User_Prov.$User_City);
 
 
 $sql ="Insert into tablename(User_Name,User_Pass,User_Mail,User_Baby_Sex,User_Baby_Birth,sheng,User_Zip,User_Address,";
 
 $sql.="User_Hand,User_YesNo,User_rname) values('$User_Name','$User_Pass','$User_Mail','$User_Baby_Sex','$User_Baby_Birth',";
 
 $sql.="'$sheng','$User_Zip','$User_Address','$User_Hand','$User_YesNo','$User_rname')";
 
 $sqlUser ="select User_Name from tablename where User_Name='$User_Name'";
 
 $result = mysql_query( $sqlUser ) or die(mysql_error().$sqlUser);
 
 if( mysql_num_rows( $result ) ){
  
  ShowMsg("{"result":"false"}");
  
 }else{
  
  if( mysql_query( $sql ) ){
  
   
   $outPut ="{
   "Id":".mysql_insert_id().",n
   "User_Name":"$User_Name",n   
   "User_Mail":"$User_Mail",n
   "User_Baby_Sex":"$User_Baby_Sex",n
   "User_Baby_Birth":"$User_Baby_Birth",n
   "sheng":"$sheng",n
   "User_Zip":"$User_Zip",n
   "User_Address":"$User_Address",n
   "User_Hand":"$User_Hand",n
   "User_YesNo":"$User_YesNo",n
   "User_rname":"$User_rname",n 
   "result":"true" 
   }";
   
   ShowMsg($outPut);
   
 
  }else{
   
   ShowMsg("{"result":"false"}");
   
  }
 
 } 
 
 
?>

本站原创转载注明:  http://www.111cn.net/phper/php.html  

关于获取getcwd,file函数是一个获取当前目录的文件信息,好了费话不说多了来看看这两个函数哦。

取得当前文件的路径今天一般用下面二个函数了。
getcwd() 函数

getcwd -取得当前工作目录

描述
字符串getcwd (无效)
获取当前的工作目录。

返回值
返回当前工作目录上的成功,或FALSE的失败。

在某些Unix的变种, getcwd ( )将返回FALSE ,如果任何一个父目录没有可读或搜索模式设定,即使在当前目录没有。见搭配chmod ( )以获取更多信息的方式和权限。

实例

例如# 1 getcwd ( )的例子

dirname(__FILE__)

预编译和宏定义,预定义常量,__FILE__. TEXT: __FILE__ 当前编译程序文件的名称

来看个实例吧。

<?php
echo getcwd() . "<br/>";
echo dirname(__FILE__);
?>

下面是一段简单的IP 判断来自地区哦,我们只要根据用户当前IP就可以判断此用户来自哪里哦。

$ip=$_POST['IP'];
$p = "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$";
if ( preg_match( "/[a-zA-Z-_]+/si", $ip ) ){
 $i = gethostbyname( $ip );
 if ( eregi( $p, $i ) ){
  echo "您查询的域名:$ip<br>IP地址:$i<br>来自:".ip($i);
 }else{
 }
}else{
 if ( eregi( $p, $ip ) ){
  echo "您查询的IP地址:$ip<br>来自:".ip($ip);
 }else{
 }
}

下面的代码是一段获取 google pr值,并且还支持js调用显示哦。

<?php
// require dirname(__FILE__) . '/MooPHP/MooPHP.php';
 define('GMAG', 0xE6359A60);

//note 获取和处理可能要取得的变量
//$site = MooGetGPC('site', 'string');
$host ='';
$style = isset($_GET['style'])?$_GET['style']:1;
$host = $_SERVER['HTTP_HOST'];
$site = str_replace('http://', '', $host);

if($site) {
 $pr = getPR($site);
 switch( $style )
 {
  case 3:
   echo 'document.write("<a href=http://tool.111cn.net/pr/pr.php title=中国WEB第一站 target=_blank><img src=http://tool.111cn.net/pr/primg/a'.$pr.'.png border=0 /></a>");';
   break;
  case 2:
   echo 'document.write("<a href=http://tool.111cn.net/pr/pr.php title=中国WEB第一站 target=_blank><img src=http://tool.111cn.net/pr/primg/b'.$pr.'.png border=0 /></a>");';
   break;
  case 1:
   
   echo 'document.write("<a href=http://tool.111cn.net/pr/pr.php title=中国WEB第一站 target=_blank><img src=http://tool.111cn.net/pr/primg/c'.$pr.'.png border=0 /></a>");';
   break;
  default:
   echo 'document.write("<a href=http://tool.111cn.net/pr/pr.php title=中国WEB第一站 target=_blank><img src=http://tool.111cn.net/pr/primg/a'.$pr.'.png border=0 /></a>");';
   break;
  }
  
}
else
{
 echo '有问题';
}


// include MooTemplate("pr_index");


//note 处理获得pr值的函数

// url get method macro.
define('G_PR_GET_TYPE_FILE', 1);    // use fopen() function
define('G_PR_GET_TYPE_SOCKET', 2);  // use standard fsocketopen function


// main function to be called
function getPR($_url,$gettype=G_PR_GET_TYPE_SOCKET){
    $url = 'info:'.$_url;
    $ch = GCH(strord($url));
    $ch = NewGCH($ch);
    $url=str_replace("_","%5F",'info:'.urlencode($_url));
    $googlePRUrl =
        "http://64.233.161.104/search?client=navclient-auto&ch=6"
        .$ch."&ie=UTF-8&oe=UTF-8&features=Rank&q=".$url;
    $pr_str = retrieveURLContent($googlePRUrl,$gettype);
    return intval(substr($pr_str,strrpos($pr_str, ":")+1));
}

//unsigned shift right
function zeroFill($a, $b){
    $z = hexdec('8'.implode('',array_fill(0,PHP_INT_SIZE*2-1,'0')));
    if ($z & $a){
        $a = ($a>>1);
        $a &= (~$z);
        $a |= hexdec('4'.implode('',array_fill(0,PHP_INT_SIZE*2-1,'0')));
        $a = ($a>>($b-1));
    }
    else{
        $a = ($a>>$b);
    }
    return $a;
}

// discard bits beyonds 32 bit.
function trunkbitForce32bit($n){
    if(PHP_INT_SIZE <= 4){
        settype($n,'float');
        if ( $n < 0 ) $n += 4294967296;
        return $n;
    }
    else{
        $clearbit = '';
        for($i=0;$i<PHP_INT_SIZE-4;$i++){
            $clearbit .= '00';
        }
        for($i=0;$i<4;$i++){
            $clearbit .= 'ff';
        }
        return ($n & hexdec($clearbit));
    }
}

function bigxor($m,$n){
    //if(function_exists('gmp_init')){
    //  return floatval(gmp_strval(gmp_xor($m,$n)));
    //}
    //else{
        return $m ^ $n;
    //}
}

function mix($a,$b,$c){

    $a = trunkbitForce32bit($a);
    $b = trunkbitForce32bit($b);
    $c = trunkbitForce32bit($c);


    $a -= $b; $a = trunkbitForce32bit($a);
    $a -= $c; $a = trunkbitForce32bit($a);
    $a = bigxor($a,(zeroFill($c,13))); $a = trunkbitForce32bit($a);


    $b -= $c; $b = trunkbitForce32bit($b);
    $b -= $a; $b = trunkbitForce32bit($b);
    $b = bigxor($b,trunkbitForce32bit($a<<8)); $b = trunkbitForce32bit($b);


    $c -= $a; $c = trunkbitForce32bit($c);
    $c -= $b; $c = trunkbitForce32bit($c);
    $c = bigxor($c,(zeroFill($b,13))); $c = trunkbitForce32bit($c);


    $a -= $b;$a = trunkbitForce32bit($a);
    $a -= $c;$a = trunkbitForce32bit($a);
    $a = bigxor($a,(zeroFill($c,12)));$a = trunkbitForce32bit($a);


    $b -= $c;$b = trunkbitForce32bit($b);
    $b -= $a;$b = trunkbitForce32bit($b);
    $b = bigxor($b,trunkbitForce32bit($a<<16));

    $c -= $a; $c = trunkbitForce32bit($c);
    $c -= $b; $c = trunkbitForce32bit($c);
    $c = bigxor($c,(zeroFill($b,5))); $c = trunkbitForce32bit($c);

    $a -= $b;$a = trunkbitForce32bit($a);
    $a -= $c;$a = trunkbitForce32bit($a);
    $a = bigxor($a,(zeroFill($c,3)));$a = trunkbitForce32bit($a);


    $b -= $c;$b = trunkbitForce32bit($b);
    $b -= $a;$b = trunkbitForce32bit($b);
    $b = bigxor($b,trunkbitForce32bit($a<<10));

    $c -= $a; $c = trunkbitForce32bit($c);
    $c -= $b; $c = trunkbitForce32bit($c);
    $c = bigxor($c,(zeroFill($b,15))); $c = trunkbitForce32bit($c);

    return array($a,$b,$c);
}

function NewGCH($ch){
    $ch = ( trunkbitForce32bit( ( $ch / 7 ) << 2 ) |
            ( ( myfmod( $ch,13 ) ) & 7 ) );

    $prbuf = array();
    $prbuf[0] = $ch;
    for( $i = 1; $i < 20; $i++ )
    {
      $prbuf[$i] = $prbuf[$i-1] - 9;
    }

    $ch = GCH( c32to8bit( $prbuf ) );

    return $ch;
}
function myfmod($x,$y){
    $i = floor( $x / $y );
    return ( $x - $i * $y );
}
function c32to8bit($arr32){
    $arr8 = array();

    for( $i = 0; $i < count($arr32); $i++ ) {
        for( $bitOrder = $i * 4;
                $bitOrder <= $i * 4 + 3; $bitOrder++ ) {
        $arr8[$bitOrder] = $arr32[$i] & 255;
        $arr32[$i] = zeroFill( $arr32[$i], 8 );
      }
    }

    return $arr8;
}

function GCH($url, $length=null){
    if(is_null($length)) {
        $length = sizeof($url);
    }
    $init = 0xE6359A60;

    $a = 0x9E3779B9;
    $b = 0x9E3779B9;
    $c = 0xE6359A60;
    $k = 0;
    $len = $length;
    $mixo = array();

    while( $len >= 12 ){
        $a += ($url[$k+0] +trunkbitForce32bit($url[$k+1]<<8)
              +trunkbitForce32bit($url[$k+2]<<16)
              +trunkbitForce32bit($url[$k+3]<<24));
        $b += ($url[$k+4] +trunkbitForce32bit($url[$k+5]<<8)
              +trunkbitForce32bit($url[$k+6]<<16)
              +trunkbitForce32bit($url[$k+7]<<24));
        $c += ($url[$k+8] +trunkbitForce32bit($url[$k+9]<<8)
              +trunkbitForce32bit($url[$k+10]<<16)
              +trunkbitForce32bit($url[$k+11]<<24));
        $mixo = mix($a,$b,$c);
        $a = $mixo[0]; $b = $mixo[1]; $c = $mixo[2];
        $k += 12;
        $len -= 12;
    }

    $c += $length;

    switch( $len ) {
        case 11:
        $c += trunkbitForce32bit($url[$k+10]<<24);

        case 10:
        $c+=trunkbitForce32bit($url[$k+9]<<16);

        case 9 :
        $c+=trunkbitForce32bit($url[$k+8]<<8);

        case 8 :
        $b+=trunkbitForce32bit($url[$k+7]<<24);

        case 7 :
        $b+=trunkbitForce32bit($url[$k+6]<<16);

        case 6 :
        $b+=trunkbitForce32bit($url[$k+5]<<8);

        case 5 :
        $b+=trunkbitForce32bit($url[$k+4]);

        case 4 :
        $a+=trunkbitForce32bit($url[$k+3]<<24);

        case 3 :
        $a+=trunkbitForce32bit($url[$k+2]<<16);

        case 2 :
        $a+=trunkbitForce32bit($url[$k+1]<<8);

        case 1 :
        $a+=trunkbitForce32bit($url[$k+0]);
    }

    $mixo = mix( $a, $b, $c );

    $mixo[2] = trunkbitForce32bit($mixo[2]);

    if( $mixo[2] < 0 ){
        return (
            hexdec('1'.
                implode('',
                    array_fill(0,PHP_INT_SIZE*2,'0')))
            + $mixo[2] );
    }
    else{
        return $mixo[2];
    }
}

// converts a string into an array of integers
// containing the numeric value of the char
function strord($string){
    for($i=0;$i<strlen($string);$i++){
        $result[$i] = ord($string{$i});
    }
    return $result;
}


function retrieveURLContent($url,$gettype){
    switch($gettype){
        case G_PR_GET_TYPE_FILE:
            return retrieveURLContentByFile($url);
            break;
        default:
            return retrieveURLContentBySocket($url);
            break;
    }
}

function retrieveURLContentByFile($url){
    $fd = @fopen($url,"r");
    if(!$fd){
        return false;
    }
    $result = "";
    while($buffer = fgets($fd, 4096)) {
      $result .= $buffer;
    }
    fclose($fd);
    return $result;
}

function retrieveURLContentBySocket($url,
                                    $host="",
                                    $port=80,
                                    $timeout=30){
    if($host == ""){
        if(!($pos = strpos($url,'://'))){
            return false;
        }
        $host = substr( $url,
                        $pos+3,
                        strpos($url,'/',$pos+3) - $pos - 3);
        $uri = substr($url,strpos($url,'/',$pos+3));
    }
    else{
        $uri = $url;
    }

    $request =  "GET ".$uri." HTTP/1.0rn"
               ."Host: ".$host."rn"
               ."Accept: */*rn"
               ."User-Agent: ZealGetrn"
               ."rn";
    $sHnd = @fsockopen ($host, $port, $errno, $errstr, $timeout);
    if(!$sHnd){
        return false;
    }


    @fputs ($sHnd, $request);

    // Get source
    $result = "";
    while (!feof($sHnd)){
        $result .= fgets($sHnd,4096);
    }
    fclose($sHnd);

    $headerend = strpos($result,"rnrn");
    if (is_bool($headerend))
    {
        return $result;
    }
    else{
        return substr($result,$headerend+4);
    }
}

站长推荐:

http://tool.111cn.net/pr/pr.php可以查询你网站的pr值并且还可以调用pr在你网站显示哦。

[!--infotagslink--]

相关文章

  • mysql_connect与mysql_pconnect的区别详解

    在mysql中我们会看到有两种常用的数据库连接模式,一种是长久连接,另一各是页面访问完之后就断了连接,下面我来分别介绍mysql_connect与mysql_pconnect的区别,有需要了解...2016-11-25
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • C#中out与ref的区别实例解析

    这篇文章主要介绍了C#中out与ref的区别实例解析,对C#初学者有不错的学习借鉴价值,需要的朋友可以参考下...2020-06-25
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • 谈谈Jquery中的children find 的区别有哪些

    精华:find方法能找子孙,children方法只能找儿子一、Jquery中children 语法.children(selector) 说明expr是表达式,可选参数,所有选择器中的表达式都可以用在这,比如按标签名"div",按类名".class",按序号":first"等等,如果表...2015-10-21