当前位置:首页 » 数据结构精品文章 » 正文

数组操作

1741 人参与  2018年09月10日 21:35  分类 : 数据结构精品文章  评论

一、 反向用户排序

函数sort()、asort()和ksort()都分别对应一个带字母“r”的反向排序函数,即rsort()、rasort()和rksort(),用户定义的排序函数没有单项变体

对数组进行重新排序:函数shuffle()将数组个元素随机排序。函数array_reverse()给出一个原来数组的反向排序

bool shuffle ( array &$array )将数组打乱

本函数打乱(随机排列单元的顺序)一个数组。

array array_reverse ( array $array [, bool $preserve_keys ] )返回一个单元顺序相反的数组

array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

从文件载入数组主要用file()、count()和explode()函数

array file ( string $filename [, int $use_include_path [, resource $context ]] )把整个文件读入一个数组中

和 file_get_contents() 一样,只除了 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE。

int count ( mixed $var [, int $mode ] )计算数组中的单元数目或对象中的属性个数

返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。 对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 count(),此方法返回 count() 函数的返回值。 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。

如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递归。

array explode ( string $separator , string $string [, int $limit ] )使用一个字符串分割另一个字符串

此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。 如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到, 那么 explode() 将返回包含 string 单个元素的数组。 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。 你必须保证 separator 参数在 string 参数之前才行。

二、 数组排序函数

(一) 使用sort()函数

bool sort ( array &$array [, int $sort_flags ] ) 对数组排序

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排

可选的第二个参数 sort_flags 可以用以下值改变排序的行为:

排序类型标记:

1、SORT_REGULAR - 正常比较单元(不改变类型)

2、SORT_NUMERIC - 单元被作为数字来比较

3、SORT_STRING - 单元被作为字符串来比较

4、SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较。 PHP 4.4.0 和 5.0.2 新加。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。 自 PHP 6 起,必须用 i18n_loc_set_default() 函数。

(二) 使用asort()函数

bool asort ( array &$array [, int $sort_flags ] )对数组进行排序并保持索引关系

本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进行排序。

(三) 使用ksort()函数

bool ksort ( array &$array [, int $sort_flags ] )对数组按照键名排序

对数组按照键名排序,保留键名到数据的关联。本函数主要用于关联数组。

(四) 自定义排序函数usort()

bool usort ( array &$array , callback $cmp_function )使用用户自定义的比较函数对数组中的值进行排序

本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。 比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=350

数据结构  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!