PHP数组函数(5)

1. array_reverse() 函数以相反的元素顺序返回数组

array_reverse(array,preserve)
preserve规定是否保留原始数组的键名

array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。

如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

2. rray_search() 函数在数组中搜索某个键值,并返回对应的键名

array_search(value,array,strict) 如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素

如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。

如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。

3. array_shift() 函数删除数组中第一个元素,并返回被删除元素的值

如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增(参见下面例子)。

4. array_slice() 函数在数组中根据条件取出一段值,并返回

array_slice(array,start,length,preserve)

preserve可选。规定函数是保留键名还是重置键名。可能的值:

  • true - 保留键名
  • false - 默认。重置键名

5. array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组

array_splice(array,start,length,array)

6. array_sum() 函数返回数组中所有值的和

如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。

7. array_unique() 函数移除数组中的重复的值,并返回结果数组

当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

返回的数组中键名不变。

8. array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头

array_unshift(array,value1,value2,value3...)

返回数组中新的元素数目。

9. array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名

被返回的数组将使用数值键,从 0 开始并以 1 递增。

10. array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数

array_walk(array,myfunction,userdata...)

array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。

典型情况下 myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。

如果 myfunction 函数需要的参数比给出的多,则每次 array_walk() 调用 myfunction 时都会产生一个 E_WARNING 级的错误。这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 error_reporting()。

注释:如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value。(参见例子 3)

注释:将键名和 userdata 传递到 myfunction 中是 PHP 4.0 新增加的。

11. array_walk_recursive() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数

该函数与 array_walk() 函数的不同在于可以操作更深的数组(一个数组中包含另一个数组)

array_walk_recursive(array,myfunction,parameter...)

与 array_walk() 函数 类似,array_walk_recursive() 函数对数组中的每个元素应用回调函数。不一样的是,如果原数组中的元素也是数组,就会递归地调用回调函数,也就是说,会递归到更深层的数组中去。

典型情况下,myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。

如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用,这样对这些单元的任何改变也将会改变原始数组本身。

posted @ 2016-02-19 10:27  sundong_wyz  阅读(188)  评论(0编辑  收藏  举报