<?php
#今天在做分页函数的时候,因为要做到如下效果:
#1.. 6,7,8,9,10
#由于是数组存储的值,所以同时进行了向元素头尾部插入、删除元素,导致未出现想要的效果。
#测试了许久发现,原来是数组的内部指针在作怪。
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array();
for($i =2;$i<10;$i++){
$arr[$i] = "{$i}0";
}
reset($arr);
echo "第一个键名:".key($arr).'<br />';
array_shift($arr);
array_unshift($arr,'00000');
end($arr);
echo "最后一个键名:".key($arr).'<br />';
foreach ($arr as $key => $value) {
echo "key:{$key}=====value:{$value}<br />";
}
?>
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array();
for($i =2;$i<10;$i++){
$arr[$i] = "{$i}0";
}
reset($arr);
echo "第一个键名:".key($arr).'<br />';
array_pop($arr);
array_push($arr,'00000');
end($arr);
echo "最后一个键名:".key($arr).'<br />';
foreach ($arr as $key => $value) {
echo "key:{$key}=====value:{$value}<br />";
}
?>
?>
经过array_shift和array_unshift操作后,数组元素情况如下:
**第一个键名:2
最后一个键名:7
key:0=====value:00000
key:1=====value:30
key:2=====value:40
key:3=====value:50
key:4=====value:60
key:5=====value:70
key:6=====value:80
key:7=====value:90**
经过array_pop和array_push操作后,数组元素情况如下:
**第一个键名:2
最后一个键名:9
key:2=====value:20
key:3=====value:30
key:4=====value:40
key:5=====value:50
key:6=====value:60
key:7=====value:70
key:8=====value:80
key:9=====value:00000**
实验过程中发现,对数组进行array_pop,array_push操作时,不会重置数组key的值。
但是经过array_shift、array_unshift操作,会重置数组key的值。