• 技术文章 >后端开发 >php教程

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

    2016-06-01 11:52:07原创362
    需求:
    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);
    }
    
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 随机排号脚本
    上一篇:phpmailer在服务器上不能正常发送邮件的解决办法_PHP 下一篇:PHP获取客户端真实IP地址的5种情况分析和实现代码_PHP
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• phpstorm不安装apache就可以本地测试PHP,phpstormapache_PHP教程• php实现scws中文分词搜索的方法• 浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接),浅析关键词_PHP教程• PHP的Yii框架的基本使用示例,yii框架示例_PHP教程• PHP会话跟踪二(42),php会话跟踪42_PHP教程
    1/1

    PHP中文网