Вот код, можете в него не вдоваться, обратите внимание на переменную $end, она установлена до переменной $step, хотя берет значение из нее, и вы не поверите но все работает, а когда установлена после переменной $step то не видит значения. Вопрос, как такое возможно? Вопреки всякой логики переменная берет значение следующее после нее? Как такое возможно? Или это баг?
$getpage = $_GET['p'];
$sn = 3;
$dir = array_diff(scandir(__DIR__.'/notes'), array('..', '.'));
$allcount = count($dir);
$pn = floor($allcount/$sn);
$pn = $pn+1;
//$s = $allcount-3;
$f = 0;
$sc = $allcount-$sn;
$end = $step+$sn;
if($getpage == 1) {
$step = $allcount;
$sn = $sn-1;
}
else {
$step = $getpage*$sn;
}
$lostpage = $getpage*3;
$startpage = $allcount-$lostpage;
echo "All notes: ".$allcount;
echo "step:".$step;
echo " end:".$end;
echo " startpage: ".$startpage;
echo " lostpage: ".$lostpage;
if(isset($_GET['p'])) {
for($num=$step;$num > $end;$num--) {
$desc = htmlspecialchars(file_get_contents('notes/'.$num.'.txt'));
$description = substr($desc, 0, 45);
echo '<div class="texts">
и.тд
}