current():取得目前指针位置的内容资料.
key():读取目前指针所指向资料的索引值(键值).
next():将数组中的内部指针移动到下一个单元.
prev():将数组的内部指针倒回一位.
end():将数组的内部指针指向最后一个元素.
reset():将目前指针无条件移至第一个索引位置.
next
next — 将数组中的内部指针向前移动一位
说明
next ( array $array ) : mixed
next() 和 current() 的行为类似,只有一点区别,在返回值之前将内部指针向前移动一位.这意味着它返回的是下一个数组单元的值并将数组指针向前移动了一位.
参数
array
受影响的 array .
返回值
返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 false.
警告
此函数可能返回布尔值 false,但也可能返回等同于 false 的非布尔值.请阅读 布尔类型章节以获取更多信息.应使用 === 运算符来测试此函数的返回值.
范例
示例 #1 next() 及相关函数的用法示例
注释
注意: 你将无法区别包含数组尾以及 boolean false 单元的数组.要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数.
参见
current() - 返回数组中的当前单元
end() - 将数组的内部指针指向最后一个单元
prev() - 将数组的内部指针倒回一位
reset() - 将数组的内部指针指向第一个单元
each() - 返回数组中当前的键/值对并将数组指针向前移动一步
PHP 的数组指针操作函数:
pos()
end()
prev()
next()
each()
reset()
current()
PHP 的foreach() 操作原始数组的一个拷贝,如果需要移动指针,使用 while 结构加上 each() 来实现.
示例:
$arr = array ('a', 'b', 'c', 'd', 'e');reset($arr);while (list($k, $v) = each($arr)) { # 当前指针已经被指向了下一位 $curr = current($arr); echo "{$k} = {$v} -- {$curr}\n";}
一,数组操作的基本函数
① 数组的键名与值
? array_values($arr);? 获得数组的值
? array_keys($arr); 获得数组的键名
? array_flip($arr); 数组的值与键名互换(如果有重复前面的会被后面的覆盖)
? in_array("apple",$arr); 在数组中检索apple
? array_search("apple",$arr); 在数组中检索apple,如果存在返回键名
? array_key_exists("apple",$arr); 检索给定的键名是否存在数组中
? isset($arr["apple"]); 检索给定的键名是否存在数组中
array_unique() 删除数组中的重复值
? current($arr); 返回数组中的当前单元
? pos($arr); 返回数组中的当前单元
? key($arr); 返回数组中的当前单元的键名
? prev($arr); 将数组中的内部指针倒回一位
? next($arr); 将数组中的内部指针向前移动一位
? end($arr);? 将数组中的内部指针指向最后一单元
? reset($arr); 将数组中的内部指针指向第一单元
? each($arr); 将返回数组当前元素的一个键/值的构造数组,并使数组指针向前移动一位
? list($key,$value) = each($arr); 获得数组当前元素的键名和值
? extract(array,extract_rules,prefix); 函数从数组中将变量导入到当前符号表.该函数使用数组键名作为变量名,使用数组键值作为变量值.针对数组中的每个元素,将在当前符号表中创建对应的一个变量.
二,数组的分段和填充
① 数组的分段
? array_slice(array,start,length,preserve); 返回数组中的选定部分.如果数组中有字符串键名,返回的数组将保留键名.
? array_chunk(array,size,preserve_keys); 把一个数组分割为新的数组块.
? array_pad(array,size,value); 将指定数量的带有指定值的元素插入到数组.如果将size参数设置为负数,该函数会在原始数组之前插入新的元素.如果size参数小于原始数组的长度,该函数不会删除任何元素.
三,数组与栈
array_pop(array); 删除数组的最后一个元素.返回值是数组的最后一个值,即,被删除的元素值.如果数组为空,或者不是一个数组,将返回NULL.
四,数组和队列
? array_shift(array); 用于删除数组中的第一个元素,并返回被删除的元素.如果键名是数字,所有的元素都将获得新的键名,从0开始,并以1递增.
五,回调函数
array_walk(array,myfunction,parameter...); 将数组中的每个元素应用到 用户自定义函数.在函数中,数组的键名和键值是参数.可以通过把用户自定义函数的第一个参数指定为引用:$value,来改变数组元素的值.
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ); 用回调函数过滤数组中的元素.该函数把输入数组中的每个键值传给回调函数.如果回调函数返回true,则把输入数组中的当前键值返回给结果数组,数组键名保持不变.
array_reduce(array,myfunction,initial); 函数发送数组中的值到用户自定义函数,并返回一个字符串.如果数组是空的或者初始值未传递,该函数返回null.initial为可选,规定发送到函数处理的第一个值.
六,数组的计算
① 数组元素的求和
array_sum(array); 返回数组中的所有值的和
七,数值的排序
array_multisort():? 对多个数组或多维数组进行排序
sort(): 以升序对数组排序
rsort(): 以降序对数组排序
asort(): 根据值,以升序对关联数组进行排序
ksort(): 根据键,以升序对关联数组进行排序
arsort(): 根据值,以降序对关联数组进行排序
krsort(): 根据键,以降序对关联数组进行排序
资料参考:
以上就是土嘎嘎小编为大家整理的php中关于数组中指针的操作相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!