Ну, кажется странным, что никто не задавал этот вопрос раньше, и это беспокоило меня часами, но вот что я пытаюсь сделать.
Мне нужно изменить порядок текстового файла, показать последние 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++;
}
?>
Вы почти там:
$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);
Надеюсь, что следующий код будет работать для вас:
$text = file('user.txt');
$total_line=count($text);
$start=$total_line-10;
for($i=$start;$i<=$total_line;$i++)
{
echo $text[$i].'<br>';
}
Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы с приведенным выше кодом.