Последняя часть троичного оператора говорит "1", но $start = 0, не понимаю

Приведенный ниже код взят с веб-страницы YouTube https://www.youtube.com/watch?v=U0tPluz072E. Загрузчик видео делает довольно приличную работу, объясняя вещи, но я чувствую, что он не совсем объяснил полностью, почему последняя часть троичного оператора (другими словами, часть else, если "Statement" показывает "1", тогда как в следующей строке вы видите $start = $page-1. Я могу понять, что в PHP страницы всегда начинаются с нуля, так почему бы просто не иметь "0" в последней части троичного оператора?

Мой второй вопрос: вы видите "(int)" во второй части (то есть части после условия) троичного оператора. Автор очень кратко говорит, что это как-то связано с "безопасностью". Я погуглил эту проблему, но ничего, что я нашел ссылки (int) с какой-либо связи с безопасностью. Кто-нибудь знает что-нибудь об этом?

<?php

mysqli_connect("127.0.0.1", "root", "", "testsite");

$per_page = 6;
$query = mysqli_query("SELECT name FROM users LIMIT 0, 6");
$pages_query = mysqli_query("SELECT COUNT('id') FROM users");
$pages = ceil(mysqli_result($pages_query, 0) / $per_page);

$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;

while ($query_row = mysqli_fetch_assoc($query)) {
      echo $query_row['name'].'<br />';
}

if ($pages >= 1) {
   for($x = 0; $x >= $pages; $x++) {
      echo '<a href="?page='.x.'">'.x.'</a>';
   }
}
?>

0 ответов

Другие вопросы по тегам