Requirements:
1. After executing the script, the students who want to go enter their English names in full, and a random number between 01-99 is generated,
If the number is bigger, go to the project practice. The number you have captured before cannot be the same number next time.
2. After entering the first name, the screen will output information and the name and number will be recorded in the file. The program cannot exit
Continue to wait for input from other students.
Implementation code (please execute it from the command line, not the WEB environment):
<?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); }