如何显示变量的每个数字


How to display each number of a variable?

基本上我想要的是显示一个计数,直到它达到某个数字,所以如果我在屏幕上有数字"5",它会显示"1 2 3 4 5"。或者如果我有数字"3",它会显示"12 3"。

原因是我为MySQL结果创建了一个分页系统。到目前为止,我的代码是

$result1 = mysql_query("SELECT * FROM questions WHERE subcat = '$conditions'");
$num_rows = mysql_num_rows($result1);
$results_per_page = "3";
$num_pages = $num_rows / $results_per_page;

因此,它计算有多少个结果,例如,我们将说12个结果。然后,它将这个数字除以我希望每页显示的结果数量。在本例中为"3"。所以答案是"4"。所以我现在想在屏幕上显示"1 2 3 4",但我希望每个数字都是一个链接。

我该怎么做?

谢谢Ben

foreach( range( 1, $num_pages) as $i) {
    echo '<a href="index.php?page=' . $i . '">' . $i . '</a>';
}

或者,knittl提出的一种方法:

echo implode( ' | ', array_map( function( $i) {
    return sprintf( '<a href="index.php?page=%d">%d</a>', $i, $i);
}, range( 1, $num_pages)));

打印这样的东西:

1 | 2 | 3 | 4 | 5

使用for循环。

for($i = 1; $i <= $num_pages; $i++){
    echo '<a href="page.php?page='.$i.'">'.$i.'</a> ';
}

使用循环:

for($i = 0; $i < $num_pages; ++$i) {
  printf('<a href="?page=%d">page %d</a>', $i, $i);
}