PHP实现的英文名字全拼随机排号脚本

 更新时间:2014年07月04日 10:48:25   投稿:junjie  
这篇文章主要介绍了PHP实现的英文名字全拼随机排号脚本,根据一个需求写出的一个解决方案,需要的朋友可以参考下

需求:
1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,
数字越大就去参加项目实践,前面已经抓到的数字,下次不能在出现相同数字。
2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出
继续等待别的学生输入。

实现代码(请在命令行执行,而非WEB环境):

<?php

// 号码库
$num = range(1, 99);

// 随机打乱
shuffle($num);

$filename = './user.txt';

// 打开记录文件
$handle = fopen($filename, 'w');

// 排序后的用户列表
$user = array();

while (true) {
 echo "\r\nEnter your name:";

 $content = read();

 // exit 退出脚本
 if ($content == 'exit') {
  break;
 }

 // 取出随机值
 $n = array_pop($num);

 // 写入文件
 fwrite($handle, $n.' '.$content."\r\n");

 $user[$n] = $content;

 // 输出到控制台
 echo "Hi $content, your number is " . $n."\r\n";
}

// 关闭控制到输入流
fclose($GLOBALS['StdinPointer']);

fwrite($handle, "\r\n");
fwrite($handle, '----------------华丽的分隔线-----------------');
fwrite($handle, "\r\n");

ksort($user);

foreach ($user as $k=>$v) {
 fwrite($handle, $k.' '.$v."\r\n");
}

// 关闭文件
fclose($handle);


/**
* 获取命令行输入值
* @param string $length
* @return string
*/
function read($length='255'){
 if (!isset($GLOBALS['StdinPointer'])){
  $GLOBALS['StdinPointer']=fopen("php://stdin","r");
 }
 $line=fgets($GLOBALS['StdinPointer'],$length);
 return trim($line);
}

相关文章

  • Yii2框架之ListView小部件的使用方法

    Yii2框架之ListView小部件的使用方法

    这篇文章主要为大家详细介绍了Yii2之ListView小部件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • php 购物车完整实现代码

    php 购物车完整实现代码

    本文介绍一个php实现的购物车代码,功能实现比较完整,实现了购物车、订货人信息、会员价等功能,还是不错的,有需要的朋友,可以参考下
    2014-06-06
  • Laravel框架实现调用百度翻译API功能示例

    Laravel框架实现调用百度翻译API功能示例

    这篇文章主要介绍了Laravel框架实现调用百度翻译API功能,结合实例形式分析了基于Laravel框架的百度翻译API调用相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Google PR查询接口checksum新算法

    Google PR查询接口checksum新算法

    前些日子一篇N久之前的老文忽然成了被阅读的热点,检查之后才发现自己使用那段代码来做pr查询的页面已经不能正常得到URL的Page Rank值了
    2009-01-01
  • 深入PHP与浏览器缓存的分析

    深入PHP与浏览器缓存的分析

    本篇文章是对PHP与浏览器缓存进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php读取mysql的简单实例

    php读取mysql的简单实例

    读取数据库我们需要利用php中的函数连接数据库然后再利用sql查询 表中的数据再遍历出来即可了,下面我们来看一个简单读取mysql实例
    2014-01-01
  • 使用php方法curl抓取AJAX异步内容思路分析及代码分享

    使用php方法curl抓取AJAX异步内容思路分析及代码分享

    怎样抓取AJAX网站的内容?这是一个热门的问题,也是一个棘手的问题。但实际上呢,抓取ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可
    2014-08-08
  • PHP 文件锁与进程锁的使用示例

    PHP 文件锁与进程锁的使用示例

    本篇文章主要介绍了PHP 文件锁与进程锁的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • php使用file_get_contents(‘php://input‘)和$_POST的区别实例对比

    php使用file_get_contents(‘php://input‘)和$_POST的区别实例对比

    这篇文章主要介绍了php使用file_get_contents(‘php://input‘)和$_POST的区别实例对比,这个知识点是比较常用的,有需要的可以参考下
    2021-03-03
  • php app支付宝回调(异步通知)详解

    php app支付宝回调(异步通知)详解

    这篇文章主要为大家详细介绍了php app支付宝回调的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07

最新评论