PHP:常用PHP数组操作函数

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 )

本作品采用《CC 协议》,转载必须注明作者和本文链接