php -- php数组相关函数

array range ( mixed $low , mixed $high [, number $step ] )

创建一个连续的数组

range(‘a‘,‘z‘);
foreach (range(0, 12) as $number) {
echo $number;
}
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

bool shuffle ( array &$array )

对数组进行随机排序

<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>

array each ( array &$array )

返回一个当前数组指针所指向的数组元素信息,该返回数组包含4个元素,其中下标为0和key的键的值对应指针所对应的数组元素的键,1和value的键对应的值为当前指针所指向数组元素的值,

同时将数组指针向下移动一位。可以使用reset()函数来使其指针重置

<?php
$fruit = array(‘a‘ => ‘apple‘, ‘b‘ => ‘banana‘, ‘c‘ => ‘cranberry‘);

reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>

mixed current ( array &$array )

返回当前数组指针所指的元素,但并不移动数组指针。如果该数组时一个空数组或者数组指针超过的数组中的最后一个元素,返回false。(注意判断是否为false使请小心,因为如果指针所在元

素值为0或者false,也可能导致返回的结果为false,可以使用"==="来判定)。

mixed prev ( array &$array )

将数组指针向前移动一个位置,当指针无法向前移动时,该方法将返回false。

mixed next ( array &$array )

将数组指针向后移动一位,并返回其元素值。

mixed end ( array &$array )

将数组指针移动到数组中的最后一个元素,并将其元素值返回,如果数组为空,将返回false。

mixed reset ( array &$array )

重置元素指针到第一个元素位置处,如果元素为空,将返回false。

mixed key ( array &$array )

返回当前数组指针所在元素的键,如果为空数组或指针指向了数组最大元素后面的元素,将返回null。

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

将数组中的元素从小到大排序(排序区分大小写,大写字母将排在小写字母前面.而且该函数会将删除原有的键名而不仅是重新排序)

$sort_flags 参数:

SORT_REGULAR 正常格式排序,为默认排序方式

SORT_NUMERIC 将元素按照数字进行排序

SORT_STRING 将元素按照字符串进行排序

排序成功返回true,否则返回false

bool asort ( array &array [, int sort_flags] )

对数组元素的值进行升序排序,并保持键的关联。如果成功则返回 TRUE,失败则返回 FALSE。sort_flags与sort函数相同

bool arsort ( array &array [, int sort_flags] )

对数组元素的值进行降序排序,并保持键的关联。如果成功则返回 TRUE,失败则返回 FALSE。sort_flags与sort函数相同

bool ksort ( array &array [, int sort_flags] )

按照键名对数组进行升序排序,并保留对应的键值对应。如果成功则返回 TRUE,失败则返回 FALSE。sort_flags与sort函数相同

bool krsort ( array &array [, int sort_flags] )

按照键名对数组进行降序排序,并保留对应的键值对应。如果成功则返回 TRUE,失败则返回 FALSE。sort_flags与sort函数相同

bool usort ( array &$array , callback $cmp_function )

对数组进行用户自定义的函数cmp_function来进行排序。比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。

本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

bool uasort ( array &array, callback cmp_function )

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

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

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

<?php
function my_sort($a, $b)
  {
  if ($a == $b) return 0;
  return ($a > $b) ? -1 : 1;
  }

$people = array("Swanson" => "Joe",
"Griffin" => "Peter", "Quagmire" => "Glenn",
"swanson" => "joe", "griffin" => "peter",
"quagmire" => "glenn"); 

uasort($people, "my_sort");

print_r ($people);
?>

结果:

Array
(
[griffin] => peter
[swanson] => joe
[quagmire] => glenn
[Griffin] => Peter
[Swanson] => Joe
[Quagmire] => Glenn
)

bool uksort ( array &array, callback cmp_function )

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

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

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

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

<?php
function my_sort($a, $b)
  {
  if ($a == $b) return 0;
  return ($a > $b) ? -1 : 1;
  }

$people = array("Swanson" => "Joe",
"Griffin" => "Peter", "Quagmire" => "Glenn",
"swanson" => "joe", "griffin" => "peter",
"quagmire" => "glenn"); 

uksort($people, "my_sort");

print_r ($people);
?>

结果:

Array
(
[swanson] => joe
[quagmire] => glenn
[griffin] => peter
[Swanson] => Joe
[Quagmire] => Glenn
[Griffin] => Peter
)

array array_reverse ( array $array [, bool $preserve_keys = false ] )

对数组进行逆向排序,如果$preserve_keys为ture,则保留原来键名。

int array_push ( array &array, mixed var [, mixed ...] )

将一个或多个元素推送到数组末尾,数组长度也会相应进行变化。注: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。 该函数将返

回一个添加元素后的新函数。

mixed array_pop ( array &$array )

将数组元素的最后一个元素删除,并返回该元素,如果元素为空,则返回null。

mixed array_shift ( array &array )

将数组的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果 array 为空(或者不是数组),

则返回 NULL。

int array_unshift ( array &array, mixed var [, mixed ...] )

将传入的单元插入到数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。

bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )

对数组中的每个元素调用用户自定义函数。典型情况下 funcname 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata,将被作为第三个参数传递给

callback funcname。

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

bool array_walk_recursive ( array &input, callback funcname [, mixed userdata] )

将用户自定义函数 funcname 应用到 array 数组中的每个单元。本函数会递归到更深层的数组中去。典型情况下 funcname 接受两个参数。input 参数的值作为第一个,键名作为第二个。如

果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname。 如果成功则返回 TRUE,失败则返回 FALSE

array array_map ( callback callback, array arr1 [, array ...] )

返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

int count ( mixed var [, int mode] )或者别名sizeof()

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

不了无限递归。

array array_count_values ( array input )

返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。

array array_values ( array input )

返回 input 数组中所有的值并给其建立数字索引。

array array_keys ( array input [, mixed search_value [, bool strict]] )

返回 input 数组中的数字或者字符串的键名。

bool array_key_exists ( mixed key, array search )

array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。

bool in_array ( mixed needle, array haystack [, bool strict] )

在 haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。

如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。 如果 needle 是字符串,则比较是区分大小写的。 在 PHP 版本 4.2.0 之前,

needle 不允许是一个数组。

mixed array_search ( mixed needle, array haystack [, bool strict] )

在 haystack 中搜索 needle 参数并在找到的情况下返回键名,否则返回 FALSE。

如果可选的第三个参数 strict 为 TRUE,则 array_search() 还将在 haystack 中检查 needle 的类型。

如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。

int extract ( array var_array [, int extract_type [, string prefix]] )

本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值。对每个键/值对都会在当前的符号表中建立变量,并受到

extract_type 和 prefix 参数的影响。

array compact ( mixed varname [, mixed ...] )

compact() 接受可变的参数数目。每个参数可以是一个包括变量名的字符串或者是一个包含变量名的数组,该数组中还可以包含其它单元内容为变量名的数组, compact() 可以递归处理。

对每个参数,compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值。简单说,它做的事和 extract() 正好相反。返回将所有变量

添加进去后的数组。

array array_chunk ( array input, int size [, bool preserve_keys] )

将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。

将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。

array array_combine ( array keys, array values )

返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。

如果两个数组的单元数不同或者数组为空时返回 FALSE。

array array_filter ( array input [, callback callback] )

array_filter() 依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

array_merge()

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

时间: 2024-10-19 09:38:33

php -- php数组相关函数的相关文章

PHP与ECMAScript_5_常用数组相关函数

PHP ECMAScript 长度 $length = count($array) length = array.length       增 array_unshift($array, new1,new2)           开头添加一个或多个元素,返回长度 array.unshift(new1,new2)   array_push($array,new1,new2)              尾部添加一个或多个元素,返回长度      array.push(new1,new2)      

数组相关函数

数组验证码: ????将验证码中所使用到的数据,用数组的形式组织出来. 1.生成验证码所需的数据 示例: 2.将数组中的元素位置打乱 shuffle(); 示例: 3.随机获取元素 array_rand();????????用于随机获取数组中指定个数元素的下标(不是元素的值) 语法: ????array_rand($arr,n); 示例: 完整代码: sort()函数 ????作用主要用于对数组进行升序排序 示例: rsort();函数 ????作用主要用于对数组进行降序排序 ksort();

6-6-1-php数组相关(2)

1.for比较少用遍历连续数字下标的数组,和c语言差不多,简单记录一下: for(int $i=0;$i<count($arr);$i++){.....$arr[$i]......} 2.php有专门遍历数组而设计的foreach语句 foreach( $arr as $value ){} foreach( $arr as $key=>$value){} 多维:使用嵌套 foreach ( $arr as $key => $arr1 ){ foreach($arr1 as $value

3.php基础(控制语句,函数,数组遍历)

if条件判断语句 结构一:只判断true,不管false 结构二:既判断true,也判断false(二选一) 结构三:多条件判断 switch多分支结构 Switch语法结构说明: l Switch的原理:根据一个变量的不同取值,与每一个case中的值相比,如果一样,则条件满足,执行该代码. l Case的值,只能是常数,是一个字符串,或者一个整数. l Break终止switch运行,并跳转到结束大括号之后. l 如果省略break语句,会继续向下一个case运行. l Default语句,是

数组中的运用

通过foreach来遍历一个数组(重要,要求掌握) 语法:foreach(数组名 as $value) 还有一个用法:语法: Foreach(数组名 as $key =>$value) 3)list()和each() List():将数组里面的值赋值给变量 语法: List(变量1,变量2,变量3) = 数组名 如果想要跳过某些值,直接使用空的逗号就可以了 List是能用于索引数组,不能用于关联数组 Each():会返回一个数组,这个数组里面有4个键,0,1,key,value. 0和key是一

php数组使用小结

在PHP中,数组分为两类:索引数组和关联数组.二者可以单独使用,也可以混合使用. 1.一维数组 一维数组的定义也很简单,常用的有如下两种方式: 1.1 直接赋值 1: <?php 2: $dwqs[0] = "1"; 3: $dwqs[1] = "我的博客:"; 4: $dwqs[2] = "www.ido321.com"; 5: $dwqs[3] = "程序爱好者:"; 6: $dwqs[4] = "QQ群:

PHP08 数组和数据结构

学习要点 数组的分类 数组的定义 数组的遍历 预定义数组 数组的相关处理函数 PHP操作数组需要注意的细节 数组的分类 关于PHP数组 由于PHP是弱类型的编程语言,所以PHP数组中的数组变量可以存储任意多个,任意类型的数据,并且可以实现其他语言强类型数据类型的堆.栈.队列等数据结构. PHP中使用数组的目的就是将多个相互关联的数据组织在一起形成集合,作为一个单元进行操作和处理. 员工信息表: ID 姓名 部门 邮箱 2016001 张三 开发部 [email protected] 201600

php 常用的系统函数

php 常用的系统函数 本文介绍了php 常用的系统函数,具有很好的参考价值,下面跟着 大宝儿 一起来看下吧 字符串函数        strlen():获取字符串长度,字节长度 substr():字符串截取,获取字符串(按照字节进行截取) strchr():与substr相似,从指定位置截取一直到最后 strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符 strtolower():所有的字符都小写(针对英文字母) strtoupper():所有的字符都大写 strrev

php核心知识要点

Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语言.是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言.它的语法接近 C,Java 和 Perl,而且容易学习.该语言让 Web 开发人员快速的书写动态生成的网页. PHP简介:Rasmus Lerdorf发展历程(1994:1.0个人