php为我们提供了丰富的数组操作函数,用这些函数可以非常方便的实现我们所想实现的功能。
添加和删除数组元素
添加元素的方法
array_unshift(array array,mixed var [,mixed var...])
在数组头添加元素,所有的数值键会被相应的修改,但关联键不会受到影响
array_push(array array,mixed var [,mixed var.....])
在数组尾添加元素
删除数组元素的方法
array_shift(array array)
删除数组头元素,所有的数值键会被相应的修改,但关联键不会受到影响,并返回被删除元素的值
array_pop(array array)
删除数组尾的元素,并返回被删除元素的值
========================================================================================
key()函数返回数组当前指针所在位置的键
current()函数返回当前指针所在位置元素的值
next()将数组指针朝下一个位置移动并返回该元素的值,如果已经是最后一个位置则当再次对该数组使用这个函数将返回FALSE
prev()将数组指针朝上一个位置移动并返回该元素的值,如果到第一个位置时,再次使用prev()对该数组操作将返回FALSE
end()将数组指针移动到最后一个位置
reset() 将数组指针移动第一个位置
用这些函数,实现print_r()函数的功能
<?php //正序打印数组function print_array_next($arr){if(!is_array($arr)){return false;//不是数组}reset($arr);//先将数组指针归位echo 'Array('.key($arr).'=>'.current($arr).' ';while(next($arr)){//next()将数组指针往下一个位置移动,如果已经是最后一个位置则返回FALSE//故可以将其作为循环条件echo key($arr).'=>'.current($arr).' ';}echo ')';}//逆序打印数组function print_array_prev($arr){if(!is_array($arr)){return false;//不是数组}end($arr);//先将数组指针移动最后一位echo 'Array('.key($arr).'=>'.current($arr).' ';while(prev($arr)){//prev()将数组指针往下一个位置移动,如果已经是第一个一个位置则返回FALSE//故可以将其作为循环条件echo key($arr).'=>'.current($arr).' ';}echo ')';}$arr =array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);print_array_next($arr);echo '
';print_array_prev($arr); ?>输出结果:Array(a=>1 b=>2 c=>3 d=>4 e=>5 )Array(e=>5 d=>4 c=>3 b=>2 a=>1 )
===========================================================================================
===========================================================================================