<?php
for ($i = 0; $i < 30; $i++)
$a[] = $i;
shuffle($a);
if(isset($_GET['num']))
{
if ($_GET['num'] == 1)
{
$start = 0;
$final = 15;
}
if ($_GET['num'] == 2)
{
$start = 16;
$final = 30;
}
}
for($i = $start; $i < $final; $i++)
echo $a[$i].' ';
echo '<br>';
?>
<a href = "form.php?num=1">1</a>
<a href = "form.php?num=2">2</a>
вопрос: при обновлении моей страницы или переходе на другую - срабатывает функция shuffle которая перемешивает массив и каждый раз выводяться совершенно рандомные значения. как сделать, что бы массив перемешался только один раз и при обновлении страницы и переходе на другую не перемешивался опять?
то есть у меня есть исходный массив. я беру его перемешиваю и больше не трогаю, а только вывожу, то что есть!
кто знает помогите пожалуста
Спустя 35 минут, 11 секунд (21.02.2011 - 11:15) quickxyan написал(а):
придмал, что можно как-то можно проверять исходный массив с перемешанным и если они разные, то уже не перемешивать, но вот в код это как-то не выливается (
Спустя 38 минут, 23 секунды (21.02.2011 - 11:53) Snus написал(а):
quickxyan
Либо
Либо пиши в сессию свой массив.
Либо
echo '<input type="hidden" value="'.implode(',', $array).'" name="array">';
Либо пиши в сессию свой массив.
Спустя 1 минута, 28 секунд (21.02.2011 - 11:54) jogal написал(а):
<?php
$items = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$pages = array_chunk($items, 5);
$outpage = '';
if(isset($_GET['page']) && is_numeric($_GET['page'])) { $pagenum =$_GET['page']; $out = $pages[$_GET['page']]; }
else { $pagenum = 0;$out = $pages[0];}
// Можно добавить кеш для shuffle
if(!is_file('cache/' . $pagenum)) {
//Добавляем в кеш
shuffle($out);
foreach($out as $result) {
$outpage .= $result . '<br/>';
}
$fp = fopen('cache/' . $pagenum, 'a');
fwrite($fp, $outpage);
fclose($fp);
} else {
$outpage = trim(file_get_contents('cache/' . $pagenum));
}
//выводим страницу
echo $outpage;
?>
Спустя 33 минуты, 2 секунды (21.02.2011 - 12:27) quickxyan написал(а):
те же яйца только в профиль)
я вроде как бы уже придумал - кто знает как можно передать массив на другую страницу, кроме сессий
я вроде как бы уже придумал - кто знает как можно передать массив на другую страницу, кроме сессий
Спустя 4 минуты, 31 секунда (21.02.2011 - 12:32) quickxyan написал(а):
Snus, спасибо. сначала не заметил твоей записи )
Спустя 2 минуты, 10 секунд (21.02.2011 - 12:34) Snus написал(а):
quickxyan
Не за что. Ну как разбить обратно на массив, я думаю, ты догадался
Не за что. Ну как разбить обратно на массив, я думаю, ты догадался
Спустя 10 минут, 34 секунды (21.02.2011 - 12:45) linker написал(а):
После перемешивания добавляй в сессию флаг, говорящий о том, что массив не нуждается в перемешивании, потом тупо проверяй его наличие.
Спустя 5 минут, 11 секунд (21.02.2011 - 12:50) quickxyan написал(а):
Snus, да разбить догадался как))
linker, спасибо очень хорошая идея
linker, спасибо очень хорошая идея
_____________
печатаю со скоростью 320 минут в знак...
плюсуем карму не стесняемся