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


Posted in PHP onJuly 04, 2014

需求:
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);
}
PHP 相关文章推荐
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
php 保留字列表
Oct 04 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
深入浅析用PHP实现MVC
Mar 02 PHP
CI配置多数据库访问的方法
Mar 28 PHP
php生出随机字符串
Jul 06 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 PHP
PHP临时文件的安全性分析
Jul 04 #PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 #PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 #PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 #PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 #PHP
php+memcache实现的网站在线人数统计代码
Jul 04 #PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 #PHP
You might like
php函数的常用方法及注意之处小结
2011/07/10 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
如何使用php输出时间格式
2013/08/31 PHP
php生成静态页面的简单示例
2014/04/17 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
5个javascript的数字格式化函数分享
2011/12/07 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python对象转JSON字符串的方法
2016/04/27 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
自荐书封面下载
2013/11/29 职场文书
老师自我鉴定范文
2013/12/25 职场文书
安全责任书范文
2014/03/12 职场文书
会计师事务所实习证明
2014/11/16 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
营销计划书
2015/01/17 职场文书
文案策划岗位职责
2015/02/11 职场文书
党员个人自我评价
2015/03/03 职场文书
入党介绍人意见2015
2015/06/01 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
环保建议书作文500字
2015/09/14 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技
利用Python实现模拟登录知乎
2022/05/25 Python