Как я могу получить вывод в последовательности, а не в случайном порядке в PHP - PullRequest
0 голосов
/ 04 мая 2020

Привет, у меня есть некоторые значения в 1.txt, и я хочу показать их последовательно, а не случайным образом, а также по нажатию кнопки без перезагрузки. И у меня не так много кода. Может кто-нибудь помочь мне с этим, пожалуйста. ?

index. php:

<?php $lines = file('1.txt');?>   <?php echo $lines[array($lines)];?>

1.txt в формате списка по вертикали:

1
2
3
4
5

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Я не уверен, что вы говорите с pu sh кнопки и перезагрузки.
Но этот код предполагает, что вы имеете в виду, после того, как список был создан, сохраните его в том же порядке для этого посетителя.

Я делаю это, используя переменную сеанса, так что даже если пользователь перезагрузит страницу, порядок будет одинаковым (для этого пользователя), но у разных пользователей будет разным.

session_start();

if(empty($_session['lines'])){
    $_session['lines'] = file('1.txt');
    shuffle($_session['lines']);

}
// For debug:
echo implode("<br>\n", $_session['lines']);
0 голосов
/ 04 мая 2020

Запись PHP, как это плохая практика:

<?php $lines = ...;?>   <?php echo ....;?>

Лучше написать так:

<?php
  $lines = ...;
  echo ...;

Теперь к вашей проблеме, вы должны использовать сортировку, чтобы упорядочить массив см. : https://www.php.net/manual/de/function.sort.php

Лучший способ напечатать массив в PHP - foreach:

foreach ($lines as $line) {
    echo "\n<p>" . $line; 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...