У меня есть массив, который связан с текстовым файлом, в котором мне нужна информация о имени студента и номере студента, введенном пользователем.Поиск того же значения в php-массиве
if (isset ($_POST['stnum']) && isset ($_POST['stname']))
{
$studentNum = htmlentities ($_POST['stnum']);
$studentName = htmlentities ($_POST['stname']);
$DB = fopen ($students, 'r') or die ("$students cannot be opened for reading.");
while ($record = fgets ($DB) and ! $foundNum and ! $foundName)
{
$studentField = explode ("$$", htmlentities (trim ($record)));
$foundNum = $studentNum === $studentField[0];
$foundName = $studentName === $studentField[1];
}
fclose ($DB);
if ($foundNum && $foundName)
{
echo $studentField[0], $studentField[1];
}
}
Я не могу понять, как искать студентов с таким же именем, но с другим номером ученика. И файл записывается как этот
DA-708-3304$$Elizabeth Organ
GB-217-1214$$John Alexander
SE-412-2175$$Odell Thomas
SH-433-3012$$John Saunders
HU-737-1176$$Frederica Elias
DU-941-4244$$Nancy Sauceda
CC-671-5984$$Margaret Coppa
DA-220-7070$$Walter Snyder
HU-658-4475$$Elizabeth Organ
DU-255-9787$$John Saunders
CC-777-8752$$Hubert Green
Например, если я пытаюсь искать для John Saunders
с студенческим номером DU-255-9787
это не работает, но John Saunders
SH-433-3012
делает, потому что он появляется первым в файле.
Не ответ, но у вас есть повторяющаяся строка перед блоком while: «$ studentField = explode (« $$ », htmlentities (trim ($ record))); –
Да, я заметил, что всего через пару минут после публикации, спасибо за это, хотя – user3316257
Google за «вернуть все похожие записи массива» ... http://stackoverflow.com/questions/19966490/find-all-array- keys-that-have-same-value – Daniel