php数组指针什么意思,php数组指针学习笔记(一)

有这么一个问题,一个数组队列,数组长度是固定的,当向输入插入元素时,超过最大长度后,数组自动头开始再覆盖填充。

这时候,整个数组就形成了一个环形。如下图。

20160622140953_6601.png

// 定义一个数组

$test_array = array();

function push_array($value, &$test_array) {

if (count($test_array) < 12) {

// 当数组小于指定长度时,直接添加元素

$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教程有兴趣的朋友有所帮助。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值