Чтение текстового файла в обратном порядке, но с первого ввода

Ну, кажется странным, что никто не задавал этот вопрос раньше, и это беспокоило меня часами, но вот что я пытаюсь сделать.

Мне нужно изменить порядок текстового файла, показать последние 10 записей и распечатать содержимое, но не из последней записи, отображаемой первой. Скорее я хочу поддерживать порядок. то есть. первая запись должна отображаться первой, а последняя — последней.

У меня уже есть PHP-код для реверса и отображения последних 10 записей, которые я разместил ниже с помощью пользователя. Большое спасибо за вашу помощь заранее!

Код

<?php $text = file('user.txt');
$text= array_reverse($text);
$counter=0;
while ($counter < 10) {
if (isset($text[$counter])) {
echo $text[$counter] . "";
}
$counter++;
}
?>

1

Решение

Вы почти там:

$newArray = array_reverse(array_slice($text, 0, 10));
var_dump($newArray);

array_slice получить первые 10 (последние 10 перед обратным), а затем вы перевернуть массив
получить свой оригинальный заказ.

Полный код:

$text = file('user.txt');
$text= array_reverse($text);
$newArray = array_reverse(array_slice($text, 0, 10));
foreach($newArray as $value)
printf("<pre>%s</pre>", $value);

Если вам не нужен полный массив в обратном порядке, вы можете получить только то, что вам действительно нужно:

$text = file('user.txt');
$newArray = array_slice($text, count($array)-10);
foreach($newArray as $value)
printf("<pre>%s</pre>", $value);
0

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

Надеюсь, что следующий код будет работать для вас:

                   $text = file('user.txt');
$total_line=count($text);
$start=$total_line-10;
for($i=$start;$i<=$total_line;$i++)
{
echo $text[$i].'<br>';
}

Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы с приведенным выше кодом.

0

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