php产生随机数的两种方法实例代码 输出随机IP

yipeiwu_com7年前PHP代码库

分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下。

如何用php生成1-10之间的不重复随机数?

例1,使用shuffle函数生成随机数。

<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
  echo $values." ";
}
?>

例2,使用array_unique函数生成随机数。

<?php
$arr=array();
while(count($arr)<10)
{
  $arr[]=rand(1,10);
  $arr=array_unique($arr);
}
echo implode(" ",$arr);
?>

例3,使用array_flip函数生成随机数,可以去掉重复值。

<?php
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10) 
 {
  $return[] = mt_rand(1, 10);
  $return = array_flip(array_flip($return));
  $count = count($return);
 } //www.jb51.net
foreach($return as $value)
 {
  echo $value." ";
 }
echo "<br/>";
$arr=array_values($return);// 获得数组的值 
foreach($arr as $key)
echo $key." ";
?>

本人是asp程序员,这是首次写php程序,一点心得发上来共享

<?php 
$ip2id= round(rand(600000, 2550000) / 10000); //第一种方法,直接生成 
$ip3id= round(rand(600000, 2550000) / 10000); 
$ip4id= round(rand(600000, 2550000) / 10000); 
//下面是第二种方法,在以下数据中随机抽取 
$arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211"); 
$randarr= mt_rand(0,count($arr_1)-1); 
$ip1id = $arr_1[$randarr]; 
echo $ip1id; 
echo "."; 
echo $ip2id; 
echo "."; 
echo $ip3id; 
echo "."; 
echo $ip4id; 
?>

例输出结果为 218.28.131.182
这个程序的特点是,生成的ip第一个字段时在指定范围内的,设定的几个是国内常见号段,也就是说生成的ip地址大部分是国内的
核心代码:

<?php 
$arr_1 = array("http://66.249.89.99","http://66.249.89.104","http://74.125.71.105"); 
$randarr= mt_rand(0,count($arr_1)-1); 
$gip= $arr_1[$randarr]; 
echo $gip."$randarr"; 
?>

相关文章

PHP垃圾回收机制简单说明

虽然自己也是PHP的学习者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用了unset,null,mysql_close,__destruct等等一些函数去释放对象防...

PHP开发中AJAX技术的简单应用

AJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google。我只是一个普通开发者,使用AJAX的地方不是特别多,我就简单的把我使用的心得说一下。(本文假设用户...

PHP基于openssl实现的非对称加密操作示例

本文实例讲述了PHP基于openssl实现的非对称加密操作。分享给大家供大家参考,具体如下: 使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密...

基于PHP实现的事件机制实例分析

本文实例讲述了基于PHP实现的事件机制。分享给大家供大家参考。具体分析如下: 内置了事件机制的语言不多,php也没有提供这样的功能。事件(Event)说简单了就是一个Observer模式...

php5.3 不支持 session_register() 此函数已启用的解决方法

php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了。报错内容是Deprecated: Function session_register() is deprecat...