三元运算符的最后一部分说" 1",但$ start = 0,不明白

时间:2015-04-19 20:44:12

标签: php youtube ternary-operator

以下代码来自YouTube网页https://www.youtube.com/watch?v=U0tPluz072E。视频的上传者做了相当不错的工作来解释事情,但我认为他没有完全解释的一件事是为什么三元运算符的最后部分(换句话说,“if”的“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 个答案:

没有答案