Последовательность ввода ключа из файла — переполнение стека

Итак, я учу себя 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.

0

Решение

Зачем искать это место? Просто вставьте и сортируйте:

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

Кроме того, нет необходимости implode(), как file_put_contents() сделаю это для вас.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]