php数组指针学习笔记(一)
这时候,整个数组就形成了一个环形。如下图。
// 定义一个数组
$test_array = array();
function push_array($value, &$test_array) {
if (count($test_array)
// 当数组小于指定长度时,直接添加元素
$test_array[] = $value;
} else {
// 当数组大于指定长度时,使用each取出当前指针的元素,并指针下移
list($k, $v) = each($test_array);
// 一般使用取模算法,取得待覆盖的key,然后直接覆盖就可以了
$k = $k % 12;
$test_array[$k] = $value;
}
}
push_array(0,$test_array);
push_array(1,$test_array);
push_array(2,$test_array);
push_array(3,$test_array);
push_array(4,$test_array);
push_array(5,$test_array);
push_array(6,$test_array);
push_array(7,$test_array);
push_array(8,$test_array);
push_array(9,$test_array);
push_array(10,$test_array);
push_array(11,$test_array);
push_array(12,$test_array);
push_array(13,$test_array);
push_array(14,$test_array);
push_array(15,$test_array);
push_array(16,$test_array);
push_array(17,$test_array);
push_array(18,$test_array);
push_array(19,$test_array);
push_array(20,$test_array);
push_array(21,$test_array);
push_array(22,$test_array);
push_array(23,$test_array);
push_array(24,$test_array);
var_dump($test_array);exit;
测试结果:
array(12) {
[0]=>
int(24)
[1]=>
int(13)
[2]=>
int(14)
[3]=>
int(15)
[4]=>
int(16)
[5]=>
int(17)
[6]=>
int(18)
[7]=>
int(19)
[8]=>
int(20)
[9]=>
int(21)
[10]=>
int(22)
[11]=>
int(23)
}
除了each以外,下面的数组指针函数也很好用
- current() - 返回数组中的当前元素的值
- end() - 将内部指针指向数组中的最后一个元素,并输出
- next() - 将内部指针指向数组中的下一个元素,并输出
- prev() - 将内部指针指向数组中的上一个元素,并输出
- reset() - 将内部指针指向数组中的第一个元素,并输出
以上就介绍了 php数组指针学习笔记(一),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。