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//正序打印数组functionprint_array_next($arr){if(!is_array($arr)){returnfalse;//不是数组}reset($arr);//先将数组指针归位echo'Array('.key($arr).'=>'.current($arr).'';while(next($arr)){//next()将数组指针往下一个位置移动,如果已经是最后一个位置则返回FALSE//故可以将其作为循环条件echokey($arr).'=>'.current($arr).'';}echo')';}//逆序打印数组functionprint_array_prev($arr){if(!is_array($arr)){returnfalse;//不是数组}end($arr);//先将数组指针移动最后一位echo'Array('.key($arr).'=>'.current($arr).'';while(prev($arr)){//prev()将数组指针往下一个位置移动,如果已经是第一个一个位置则返回FALSE//故可以将其作为循环条件echokey($arr).'=>'.current($arr).'';}echo')';}$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);print_array_next($arr);echo'<br/>';print_array_prev($arr);?>输出结果:Array(a=>1b=>2c=>3d=>4e=>5)Array(e=>5d=>4c=>3b=>2a=>1)

===========================================================================================

===========================================================================================