来自文件的键输入序列 -- PHP

Key Entry Sequence from file -- PHP

所以,我正在自学 php,我设法找到了一些非常基本的编码问题来帮助练习。我坚持的那个似乎有一个简单的解决方案。我正在使用上一个问题的代码(输入序列创建)并将其转换为键序列创建。基本上,代码需要读取一个文件,按照列表的顺序找到一个键值所属的位置,然后将记录插入到它的尊重位置。

<?php
//read current file
$studentArray = file("student.txt"); 
echo "Create Key Sequence Student File\n";
echo "Enter ID: ";
$id = rtrim(fgets(STDIN));
echo "Enter FN: ";
$fn = rtrim(fgets(STDIN));
echo "Enter LN: ";
$ln = rtrim(fgets(STDIN));
echo "Enter Major: ";
$maj = rtrim(fgets(STDIN));
echo "Enter Credit Hours: ";
$cHours = rtrim(fgets(STDIN));
//put them in a string
$studentString = "$id".':'."$fn".':'."$ln".':'."$maj".':'."$cHours\n";
//add the string to the array and write array to file
$studentArray[] = $studentString;  
$studentString = implode("",$studentArray);
file_put_contents("student.txt",$studentString);
?>

我不知道该怎么办。我找到的文本不包含任何关于键序列创建公式的内容

10000:Bill:Smith:CPSC:34
10010:Jan:Wilson:CPSC:0
10020:Sue:Sweet:ENGR:231
10030:Li:Chan:BIOL:64
10040:Luis:Gonzales:MATH:90

是我们正在读取的值的内容。我们使用 10015 的键(值 id)。该代码应该能够读取列表并确定 10015 适合的位置,然后相应地插入来自 STDIN 的信息。

为什么要搜索它的位置?只需插入并排序:

$studentString = "$id".':'."$fn".':'."$ln".':'."$maj".':'."$cHours\n";
$studentArray[] = $studentString;  
sort($studentArray);
file_put_contents("student.txt",$studentArray);

此外,不需要 implode(),因为 file_put_contents() 会为您完成此操作。