php数组插入和打印

php数组插入和打印,php,arrays,Php,Arrays,这是我的PHP程序的一部分 //for example: $rec_count = 30 $totalpages=(int)$rec_count/10; $index=0; $pageslink[$totalpages]=''; while($index <= $totalpages ){ $pageslink['index']=$index; echo '<br>Index: '.$index.'<br&

这是我的PHP程序的一部分

//for example: $rec_count = 30

$totalpages=(int)$rec_count/10;     
$index=0;           
$pageslink[$totalpages]='';
while($index <= $totalpages ){
        $pageslink['index']=$index;
        echo '<br>Index: '.$index.'<br>';
        echo '<br>Page '.$pageslink['index'].' ';
        $index++;
    }

print_r($pageslink);    
它应该是
pageslink[0]=1;页面链接[1]=2;页面链接[3]=3
但是当I
print_r()
页面链接数组时,值仅为3。我一直在试图找出为什么数组中只有3作为值插入

我是初学者,所以提前谢谢你的帮助。非常感谢。

您正在使用

$pageslink['index'] = $index;
这意味着您将数组中具有命名键的项设置为变量
$index
,而不是使用
$index
作为键

在PHP(和许多其他语言)中,您可以使用其
索引
编号(0、1、2等)或单词(
命名键
)引用数组中的项。 例如:

$myArray = ['John', 'London'];
echo $myArray[0]; // John
echo $myAray[1]; // London

现在要做的是在每个循环中将数组中的同一项(您正在调用的
index
)设置为新值,覆盖其旧值。因此,在所有循环之后,您将只保存最后一个值

你想要这样的东西:

$pageslink[$index] = $index + 1;
这将转化为:

$pageslink[0] = 1; // first loop
$pageslink[1] = 2; // second loop
$pageslink[2] = 3; // third loop
顺便说一下,在您的示例代码中,for循环会更干净:

$rec_count = 30
$totalpages=(int)$rec_count/10;
$pageslink = array(); // this is how to create an array, not with ''
for($i=0;i<$totalpages;$i++){
    $pageslink[] = $i;
}
print_r($pageslink);   
$rec\u count=30
$totalpages=(int)$rec_count/10;
$pageslink=array();//这是如何创建数组,而不是使用“”

对于($i=0;i在这个答案的简短版本中,PHP中的数组从
0
开始计数,而不是
1
。因此,第一个循环是
0
,第二个循环是
1
,依此类推。

如果您将代码复杂化了,请尝试:

$totalpages=(int)$rec_count/10;     
$index=0;           
$pageslink = array();
while($index <= $totalpages ){
        $pageslink[]=$index+1;
        echo '<br>Index: '.$index.'<br>';
        echo '<br>Page '.$pageslink[$index].' ';
        $index++;
    }

print_r($pageslink);
$totalpages=(int)$rec\u count/10;
$index=0;
$pageslink=array();

虽然($index为我的网页分页这里还没有分页。那只是一个无用的数组。当你分页时,你需要以下信息:
max\u page\u id
current\u page\u id
,然后你只需要计算
上一页的id
下一页的id
,如果你有100页的话。你不需要100个元素的数组。你只需要知道什么是当前页码如果这篇文章有帮助,请接受它作为答案,以便其他人以后可以很容易地找到它。
$rec_count = 30
$totalpages=(int)$rec_count/10;
$pageslink = array(); // this is how to create an array, not with ''
for($i=0;i<$totalpages;$i++){
    $pageslink[] = $i;
}
print_r($pageslink);   
$totalpages=(int)$rec_count/10;     
$index=0;           
$pageslink = array();
while($index <= $totalpages ){
        $pageslink[]=$index+1;
        echo '<br>Index: '.$index.'<br>';
        echo '<br>Page '.$pageslink[$index].' ';
        $index++;
    }

print_r($pageslink);