PHP实现的英文名字全拼随机排号脚本
2015-01-24信息快讯网
这篇文章主要介绍了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);
}
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Sublime里直接运行PHP配置方法
PHP实现将HTML5中Canvas图像保存到服务器的方法
PHP使用get_headers函数判断远程文件是否存在的方法
php的mssql数据库连接类实例
php中mt_rand()随机数函数用法
php管理nginx虚拟主机shell脚本实例
PHP生成不重复随机数的方法汇总
php生成随机颜色的方法
php获取随机数组列表的方法
PHP产生不重复随机数的5个方法总结
php获取一个变量的名字的方法
PHP命令行脚本接收传入参数的三种方式
Linux下创建nginx脚本-start、stop、reload…
Linux下php5.4启动脚本
php实现批量压缩图片文件大小的脚本
PHP临时文件的安全性分析
PHP curl实现抓取302跳转后页面的示例
PHP不用递归遍历目录下所有文件的代码
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
PHP+Memcache实现wordpress访问总数统计(非插件)
PHP生成随机密码类分享
探寻PHP脚本不报错的原因
利用谷歌 Translate API制作自己的翻译脚本
php生成随机密码自定义函数代码(简单快速)
php使用正则过滤js脚本代码实例
win7计划任务定时执行PHP脚本设置图解
php读取3389的脚本
PHP生成自定义长度随机字符串的函数分享
php使用array_rand()函数从数组中随机选择一个或多个元素
在PHP模板引擎smarty生成随机数的方法和math函数详解
更改localhost为其他名字的方法