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 ‘<br/>‘;
	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 )===========================================================================================
===========================================================================================
        
        
    
本文出自 “Debug Me” 博客,请务必保留此出处http://zaitebie.blog.51cto.com/11179646/1742306
原文:http://zaitebie.blog.51cto.com/11179646/1742306