PHP数组函数(6)

1.arsort() 函数对关联数组按照键值进行降序排序

arsort(array,sortingtype);

  • 0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
  • 1 = SORT_NUMERIC - 把每一项作为数字来处理。
  • 2 = SORT_STRING - 把每一项作为字符串来处理。
  • 3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
  • 4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
  • 5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

arsort() 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 TRUE,否则返回 FALSE。

2. asort() 函数对关联数组按照键值进行降序排序

asort(array,sortingtype);

asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 TRUE,否则返回 FALSE。

3. compact() 函数创建包含变量名和它们的值的数组

compact(var1,var2...)

compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。

本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。

本函数执行的行为与 extract() 正好相反。

4. extract() 函数从数组中将变量导入到当前的符号表

extract(array,extract_rules,prefix)
  • EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
  • EXTR_SKIP - 如果有冲突,不覆盖已有的变量。
  • EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix
  • EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix
  • EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix
  • EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。
  • EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。
  • EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。

prefix可选。请注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。

前缀和数组键名之间会自动加上一个下划线。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

该函数返回成功导入到符号表中的变量数目。

5. count(),sizeof() 函数返回数组中元素的数目

count(array,mode);

mode可能的值:

  • 0 - 默认。不对多维数组中的所有元素进行计数
  • 1 - 递归地计数数组中元素的数目(计算多维数组中的所有元素)

count() 函数计算数组中的单元数目或对象中的属性个数。

对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。

如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。

6. current() ,pos() 函数返回数组中的当前元素的值

每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。

current() 函数返回当前被内部指针指向的数组元素的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE。

相关的方法:

  • end() - 将内部指针指向数组中的最后一个元素,并输出
  • next() - 将内部指针指向数组中的下一个元素,并输出
  • prev() - 将内部指针指向数组中的上一个元素,并输出
  • reset() - 将内部指针指向数组中的第一个元素,并输出
  • each() - 返回当前元素的键名和键值,并将内部指针向前移动

7. in_array() 函数搜索数组中是否存在指定的值

in_array(search,array,type)

type可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

8. key() 函数返回数组内部指针当前指向元素的键名

key(array)

9. krsort() 函数对关联数组按照键名进行降序排序

krsort(array,sortingtype);

sortingtype

规定如何排列数组的元素/项目。可能的值:

  • 0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)
  • 1 = SORT_NUMERIC - 把每一项作为数字来处理。
  • 2 = SORT_STRING - 把每一项作为字符串来处理。
  • 3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
  • 4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
  • 5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

10. ksort() 函数对关联数组按照键名进行升序排序

11. list() 函数用于在一次操作中给一组变量赋值

list(var1,var2...)

12.natcasesort() 函数用"自然排序"算法对数组进行排序

键值保留它们原始的键名

在自然排序算法中,数字 2 小于 数字 10。在计算机排序算法中,10 小于 2,因为 "10" 中的第一个数字小于 2。

该函数对大小写不敏感。

如果成功,该函数返回 TRUE,如果失败则返回 FALSE。

13. natsort() 函数用"自然排序"算法对数组进行排序。键值保留它们原始的键名

14. range() 函数创建一个包含指定范围的元素的数组

15. rsort() 函数对数值数组进行降序排序

16. shuffle() 函数把数组中的元素按随机顺序重新排列

该函数为数组中的元素分配新的键名。已有键名将被删除

17. uasort() 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)

uasort(array,myfunction);

如果成功则返回 TRUE,否则返回 FALSE。

该函数主要用于对那些单元顺序很重要的结合数组进行排序。

18. uksort() 函数通过用户自定义的比较函数对数组按键名进行排序

uksort(array,myfunction);

uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。

如果成功则返回 TRUE,否则返回 FALSE。

如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

自定义函数应接受两个参数,该参数将被数组中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

19. usort() 通过用户自定义的比较函数对数组进行排序

usort(array,myfunction);

如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 PHP 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。

本函数为 array 中的元素赋予新的键名。这会删除原有的键名。

时间: 2024-10-11 11:35:39

PHP数组函数(6)的相关文章

判断对象是否为数组/函数

打印Object的prototype属性: 有一个toString方法,不同于一般变量的toString方法,当Object的toString方法执行时: 1.获取当前对象的[[Class]]属性的值; 2.返回 "[object " + 第一步得出的值+ "]"格式的字符串,例如[object Array], 解析: [[Class]]是一种内部属性,所有的对象(原生对象和宿生对象)都拥有该属性,描述该对象的类型 (值得注意的是[[Class]]的值只能是Obje

数组函数

2016年11月22号 今天苦逼的学习了"几个"数组函数.不多也就30几个! 首先学习了 数组的指针:在每一个数组的内部,都有一个数组元素的指针,该指针负责指向数组内的某个元素,那么这个被指向的元素,就叫作"当前元素"!而他又有两个小弟,分别实现键和值:key:语法:key(数组名)作用:获取该数组当前元素的键!current:语法:current(数组名)作用:获取该数组当前元素的值! 然而,数组的指针不能永远只指向某个元素,应该将数组的指针在需要的时候下移一位!

PHP数组函数

数组函数: count: 返回数组的个数 explode: 把字符串切割为数组 join: 把数组连接为字符串 array_values:返回数组中的value值,组成一个新数组 array_keys :返回数组中的key值,组成一个新数组 array_pop : 删除数组中最后一组元素 list : 把数组中的值,赋值给对应的变量 next:数组中的指针往后移动一位 prev:数组中的指针往前移动一位 end:选取最后一个元素 in_array:判断数组中是否存在某个值 array_rever

自定义数组函数

// 自定义数组函数Array.prototype.maxima.//Array.prototype为必须的,maxima为数组名.//调用时arr.maxima()这样调用window.onload = function() { Array.prototype.sum = function(){ for(var sum = i = 0 ; i < this.length; i ++){ sum += parseInt(this[i]); } return sum; }; Array.proto

数组拷贝、数组函数、通过数组函数来模拟数据结构的栈和队列、回调的意义、数组函数的排序问题、算法以及寻找素数的筛选法

1.数组的拷贝数组拷贝时指针的指向问题. 数组在拷贝时,指针的位置随之复制[这一点拷贝是完全一样]但是如果拷贝的数组的指针是非法的,那么拷贝出新指针的位置进行初始化<?php$arr1=array('123');end($arr1);next($arr1);//这个指针非法$arr2 = $arr1;//这里进行数组的拷贝var_dump(current($arr2));//得到指向‘123’元素的指针var_dump(current($arr1));//此时这个数组的指针有问题?> 但是拷贝

labview学习之“创建数组”函数

“创建数组”函数 一.位置:“函数”-“编程”-“数组”-“创建数组” 其图标为: 图1 图标 二.简介: “创建数组”函数有两种模式,一种是“连接模式”,一种是“添加模式”. 如需切换两种模式,可右键单击“创建数组”函数,切换连接输入菜单项. “创建数组”函数默认输入端数量为1.如需添加输入,可右键单击该函数并从菜单中选择添加输入,或者调整函数的大小. (1)在连接模式下,输入可以同时包含n维数组.n-1维数组(n>0).“创建数组”函数通过连接输入数组的每个元素得到一个n维数组. (2)在添

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

数组、多维数组和数组函数

1.数组的基本写作格式 (1). array ("AA","BB","CC","DD"); (2). array ("AA"=>"11","BB"=>"22"); 2.数组的创建.修改.删除.使用 <?php $arr=array(array("AA","BB","CC"

【风马一族_php】数组函数

原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负  2016-11-09 15:56:26 数组 函数 php--数组的尝鲜事例 array_change_key_case - 返回字符串键名全为小写或大写的数组 语法:array_change_key_case(数组名); php-->修改数组的键名(下标)的字母大小写 array_chunk - 将一个数组分割成多个 语法:array_chunk(数组名,

[转] 有趣的JavaScript原生数组函数

在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘object’而不是‘array’.然而执 行[] instanceof Array返回true.此外,还有类数组对象使问题更复杂,如字符串对象,arguments对象.arguments对象不是Array的实例,但却 有个length属性,并且值能通过索引获取,所以能像数组一样通过循环操作. 在本文中,