PHP實現(xiàn)的英文名字全拼隨機(jī)排號腳本
需求:
1、執(zhí)行腳本后,想去的同學(xué)輸入英文名字全拼,產(chǎn)生隨機(jī)數(shù)01-99之間的數(shù)字,
數(shù)字越大就去參加項目實踐,前面已經(jīng)抓到的數(shù)字,下次不能在出現(xiàn)相同數(shù)字。
2、第一個輸入名字后,屏幕輸出信息,并將名字和數(shù)字記錄到文件里,程序不能退出
繼續(xù)等待別的學(xué)生輸入。
實現(xiàn)代碼(請在命令行執(zhí)行,而非WEB環(huán)境):
<?php // 號碼庫 $num = range(1, 99); // 隨機(jī)打亂 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; } // 取出隨機(jī)值 $n = array_pop($num); // 寫入文件 fwrite($handle, $n.' '.$content."\r\n"); $user[$n] = $content; // 輸出到控制臺 echo "Hi $content, your number is " . $n."\r\n"; } // 關(guā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"); } // 關(guā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); }
相關(guān)文章
基于CI(CodeIgniter)框架實現(xiàn)購物車功能的方法
這篇文章主要介紹了基于CI(CodeIgniter)框架實現(xiàn)購物車功能的方法,結(jié)合實例形式分析了CodeIgniter框架購物車功能類的定義及數(shù)據(jù)庫建立相關(guān)sql命令,需要的朋友可以參考下2018-04-04PHP設(shè)計模式之中介者模式(Mediator Pattern)入門與應(yīng)用案例詳解
這篇文章主要介紹了PHP設(shè)計模式之中介者模式(Mediator Pattern),結(jié)合實例形式詳細(xì)分析了PHP中介者模式的基本概念、原理、應(yīng)用案例與相關(guān)操作注意事項,需要的朋友可以參考下2019-12-12PHP中通過exec調(diào)用python腳本報ModuleNotFoundError錯誤問題及解決方法
這篇文章主要介紹了解決php中通過exec調(diào)用python腳本報ModuleNotFoundError錯誤,本文是在 Ubuntu 20.04 上以 ubuntu 用戶身份進(jìn)行的測試,需要的朋友可以參考下2023-07-07Codeigniter上傳圖片出現(xiàn)“You did not select a file to upload”錯誤解決辦法
這篇文章主要介紹了Codeigniter上傳圖片出現(xiàn)“You did not select a file to upload”的解決辦法,需要的朋友可以參考下2014-06-06