www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

这篇文章主要介绍了PHP实现的英文名字全拼随机排号脚本,根据一个需求写出的一个解决方案,需要的朋友可以参考下

需求:

1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,数字越大就去参加项目实践,前面已经抓到的数字,下次不能在出现相同数字。

2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别的学生输入。

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

  1. <?php 
  2.  
  3. // 号码库 
  4. $num = range(1, 99); 
  5.  
  6. // 随机打乱 
  7. shuffle($num); 
  8.  
  9. $filename = './user.txt'
  10.  
  11. // 打开记录文件 
  12. $handle = fopen($filename'w'); 
  13.  
  14. // 排序后的用户列表 
  15. $user = array(); 
  16.  
  17. while (true) { 
  18.  echo "\r\nEnter your name:"
  19.  
  20.  $content = read(); 
  21.  
  22.  // exit 退出脚本 
  23.  if ($content == 'exit') { 
  24.   break
  25.  } 
  26.  
  27.  // 取出随机值 
  28.  $n = array_pop($num); 
  29.  
  30.  // 写入文件 
  31.  fwrite($handle$n.' '.$content."\r\n"); 
  32.  
  33.  $user[$n] = $content
  34.  
  35.  // 输出到控制台 
  36.  echo "Hi $content, your number is " . $n."\r\n"
  37.  
  38. // 关闭控制到输入流 
  39. fclose($GLOBALS['StdinPointer']); 
  40.  
  41. fwrite($handle"\r\n"); 
  42. fwrite($handle'—————-华丽的分隔线—————–'); 
  43. fwrite($handle"\r\n"); 
  44.  
  45. ksort($user); 
  46.  
  47. foreach ($user as $k=>$v) { 
  48.  fwrite($handle$k.' '.$v."\r\n"); 
  49.  
  50. // 关闭文件 
  51. fclose($handle); 
  52.  
  53.  
  54. /** 
  55. * 获取命令行输入值 
  56. * @param string $length 
  57. * @return string 
  58. */ 
  59. function read($length='255'){ 
  60.  if (!isset($GLOBALS['StdinPointer'])){ 
  61.   $GLOBALS['StdinPointer']=fopen("php://stdin","r"); 
  62.  } 
  63.  $line=fgets($GLOBALS['StdinPointer'],$length); 
  64.  return trim($line); 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP实现的英文名字全拼随机排号脚本》
文章链接:https://www.adminn.cn/news/8850.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏