程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實現的英文名字全拼隨機排號腳本

PHP實現的英文名字全拼隨機排號腳本

編輯:關於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);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved