php数组指针函数
数组指针函数有reset(),prev(),current(),next(),end(),key(),each()
其中reset(),prev(),current(),next(),end(),都是只与数组的值有关的函数,key()只与数组键,有关的函数,each()可以获得数组的值和键
reset()函数,参数是一个数组,引用传值,将一个数组的内部指针重置到首位,也就是数组的第一个元素所在的位置,然后返回第一个元素的值,在数组为空的情况下返回false
1 $arr = [ 1, 2 ]; 2 var_dump( reset( $arr ) ); 3 $arr = [ ]; 4 var_dump( reset( $arr ) ); 5 // int(1) 6 // bool(false)
end()函数,参数是一个数组,引用传值,将一个数组的内部指针移动到数组的最后一个元素所在的位置,然后返回最后一个元素的值,在数组为空的情况下返回false
1 $arr = [ 1, 2 ]; 2 var_dump( end( $arr ) ); 3 $arr = [ ]; 4 var_dump( end( $arr ) ); 5 // int(2) 6 // bool(false)
current()函数,参数是一个数组,引用传值,返回当前数组指针所指向的值,指针移动超出了数组的末尾,返回false,在数组为空的情况下返回false
数组的指针默认在数组的第一位
1 $arr = [ 1, 2 ]; 2 var_dump( current( $arr ) ); 3 $arr = [ ]; 4 var_dump( current( $arr ) ); 5 // int(1) 6 // bool(false)
next()函数,参数是一个数组,引用传值,移动数组指针到下一位,返回该位的值,当该位没有元素时返回false,空数组也会返回false
1 $arr = [ 1, 2 ]; 2 var_dump( next( $arr ) ); 3 $arr = [ ]; 4 var_dump( next( $arr ) ); 5 // int(2) 6 // bool(false)
prev()函数,参数是一个数组,引用传值,移动数组指针到上一位,返回该位的值,当该位没有元素时返回false,空数组也会返回false
1 $arr = [ 1, 2 ]; 2 var_dump( prev( $arr ) ); 3 $arr = [ ]; 4 var_dump( prev( $arr ) ); 5 // int(2) 6 // bool(false)
key()函数,参数是一个数组,引用传值,返回当前指针所指向的元素的键,当指针所指的那一位没有元素返回null,空数组返回null
1 $arr = [ 1, 2 ]; 2 prev( $arr ); 3 var_dump( key( $arr ) ); 4 $arr = [ ]; 5 var_dump( key( $arr ) ); 6 // int(2) 7 // bool(false)
each()函数,参数是一个数组,引用传值,返回当前指针所指的元素的值和键,并且移动指针到下一位
php7.2之后极度不鼓励使用这个函数
warning
this function has been deprecated as of php 7.2.0. relying on this function is highly discouraged