數組指針函數有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
