Помогите - вывести значения по порядку

Статус
В этой теме нельзя размещать новые ответы.

Grigirij

$$$
Регистрация
25 Сен 2008
Сообщения
760
Реакции
412
Есть скрипт:
PHP:
<?php
srand((float) microtime() * 10000000);
$input = array("1", "2", "3", "4", "5");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
?>


Он выводит цыфры 1,2,3,4 или 5 рандомно.
Мне необходимо чтоб он выводил их по порядку, а потом снова начинал выводить их с первого числа.

Как сделать?
 
Последнее редактирование модератором:
PHP:
<?php
$input = array("1", "2", "3", "4", "5");
sort($input);
print_r($input);
?>
Или если надо только числа вот так
PHP:
<?php
$input = array("1", "2", "3", "4", "5");
sort($input);
foreach($input as $key => $value)
  {
     echo "$value <br />";
  } ?>
 
не то (
Видимо я плохо описал задачу.
Мне нужно, чтоб при каждом обновлении страницы скрипт выдавал цифры "1", "2", "3", "4", "5" по очерёдности, а не все сразу.

К самим цмфрам не привязываемся т.к. вместо них будут слова, цифры вписал для простоты.
 
PHP:
<?php
$input = array("1", "2", "3", "4", "5");
$r_key = array_rand($input, 1);
echo $input[$r_key] ;
?>
 
С этим уже не сталкивался я могу канеш сделать но не совсем уверен что это будет хорошее решение.
 
Мне необходимо чтоб он выводил их по порядку, а потом снова начинал выводить их с первого числа.

Как сделать?

Нужно где-то сохранять текущее состояние или каунтер.
По-быстрому как-то так:
PHP:
$input = array("1", "2", "3", "4", "5");
$arrCount = count($input);

$counter = (int)@file_get_contents('counter.txt');
file_put_contents('counter.txt', $counter + 1, LOCK_EX); //заодно и узнаем сколько всего заходов на страницу было ;)

echo $input[$counter % $arrCount] . "\n";

Для понимания сути пример сойдёт, но на больших нагрузках будет бажить, лучше использовать memcache или mysql (скорее всего на memory table)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху