php数组指针如何移动到指定单元?

来源:互联网 发布:怎么导入淘宝数据包 编辑:程序博客网 时间:2024/05/23 11:39

php数组指针如何移动到指定单元?

2012-10-17 16:35杨鯤 | 分类:PHP | 浏览726次
现在问题是一个数组近2000个单元,每次移动到哪个单元没有固定。每个单元都需要执行一个方法(需要2秒^_^)。。万一执行到1000个单元停了,下次难道还从第一个单元执行?所以现在就是需要能指定这个数组循环从地1000个开始。而php数组只能移动到第一、最后、上一个、下一个,有没有我不知道的方法移动到指定单元??
我猜想有没有一个函数,比如这个函数名是php123,那我php123($array,1000),他就把$array这个函数指针移动到第1000位???
分享到:
2012-10-17 17:31提问者采纳


调用系统函数。

array array_slice ( 
array $array , int $offset [, int $length [, bool $preserve_keys ]] ) //函数在数组中根据条件取出一段值,并返回。

$array = array_slice($array,1000);         //这个不是引用

或者直接调用
arrayarray_splice
( array &$input , int $offset [, int $length [, array $
replacement ]] ) ////这个是引用

array_splice($array,0,1000); //不需要 $array = ,它的返回值是被“丢掉”那部分。


array_slice(array,offset,length,preserve)
参数描述array必需。规定输入的数组。offset

必需。数值。规定取出元素的开始位置。

如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。

length

可选。数值。规定被返回数组的长度。

如果 length 为正,则返回该数量的元素。

如果 length 为负,则序列将终止在距离数组末端这么远的地方。

如果省略,则序列将从 offset 开始直到 array 的末端。

preserve

可选。可能的值:

  • true - 保留键
  • false - 默认 - 重置键

例子 1

<?php$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,1,2));?>

输出:

Array ( [0] => Cat [1] => Horse )

例子 2

带有负的 offset 参数:

<?php$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,-2,1));?>

输出:

Array ( [0] => Horse )

例子 3

preserve 参数设置为 true:

<?php$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,1,2,true));?>

输出:

Array ( [1] => Cat [2] => Horse )

例子 4

带有字符串键:

<?php$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird");print_r(array_slice($a,1,2));?>

输出:

Array ( [b] => Cat [c] => Horse )
0 0