Один из подходов к отображению последней записи - создать массив и, например, использовать конечную цифру от entry_1
в качестве ключа массива.Поскольку массив не может иметь повторяющихся ключей, он всегда должен быть уникальным.
При чтении строк файла вы можете создать пустой массив для каждого ключа и заполнить массив.В конце вы можете использовать krsort
сортировку массива по ключу в обратном порядке.
$test = fopen("test.txt", "r") or die("Unable to open file!");
$results = [];
while (!feof($test)) {
$line = fgets($test);
if (strncasecmp($line, "entry=", 6) === 0) { //Compare the first 6 characters
$index = intval(substr($line, 6), 10); //$index would be 1, 2 or 3
$results[$index] = []; // Create empty array placeholder to be filled
}
$results[$index][] = $line; // Add the line to the current placeholder
}
krsort($results);
foreach ($results as $result) {
foreach ($result as $item) {
echo $item . "<br>";
}
}
Если вы хотите сгладить массив массивов до 1 массива, а затем использовать 1foreach, вы можете использовать call_user_func_array и array_merge :
$results = call_user_func_array('array_merge', $results);
foreach ($results as $result) {
echo $result . "<br>";
}