- 论坛徽章:
- 0
|
本帖最后由 散落星辰 于 2011-01-26 23:29 编辑
方便大家,函数都放附件里了。
数组函数大全.rar
(4.87 KB, 下载次数: 21)
array
□ 适用版本:未知
□ 函数功能:产生一个数组。
□ 函数语法:array array ([mixed ...])
□ 函数说明:array 并非一般的函数, 它使用在一般的程序语法中, 数组元素的内容可以通
过 => 运算符给定一个索引及值。下面的范例就是用来说明怎样建立一个二维的数组, 并且
在数组中如何指定数值或数据给数组内的元素, 最后并且列出数组中某一个元素的内容。
代码如下:
[php]
<?php
$fruits = array(
"fruits" => array ("a"=>"orange","b"=>"banana", "c"=>"apple"),
"numbers" => array (1, 2, 3, 4, 5, 6),
"holes" => array ("first", 5 =>"second", "third")
);
echo $fruits["fruits"]["b"];
?>
[/php]
□ 执行结果: banana
array_count_values
□ 适用版本:PHP4 >= 4.0b4
□ 函数功能:计算数组所有的数值或文字在数组中出现的次数。
□ 函数语法:array array_count_values (array input)
□ 函数说明:Array_count_values () 会返回一个数组, 数组包含所有的 数值或文字在
输入数组中出现的次数。在下面的范例程序中, 1 现了一次, 2 出现两次, chinese 出现了一次,
man 出现了两次, Array_count_values() 执行以后, 数组$answer 自动变成 array (1=>1, 2=>2,
"chinese"=>1, "man"=>2) , 最后印出 $answer["chinese"] 的内容。
□ 范例程序:
[php]<?php
$array=array(1,2, "chinese", 2, "man","man");
$answer=array_count_values ($array);
echo $answer["chinese"];
?>[/php]
□ 执行结果:1
array_diff
□ 适用版本:PHP4 >= 4.0.1
□ 函数功能:计算数组中不同的数组元素。
□ 函数语法:array array_diff (array array1, array array2 [, array ...])
□ 函数说明:array_diff() 将的返回一个数组, 这个数组中包含的数值来源, 是第一个数组中
曾经出现的元素, 却没有在第二个数组中出现的。在下面的这个范例中, 第一个数组有 a b c
三个数组元素, 第二个数组有 a c d 三个数组元素, array_diff ($array1, $array2) 返回的数组,
存在 $result 变量中。
□ 范例程序:
[php]<?php
$array1=array("choice1"=>"a","b","c");
$array2=array("choice2"=>"a","c","d");
$result=array_diff($array1, $array2);
foreach($result as $value) {
echo "$value <br>";
}
?>[/php]
□ 执行结果:d
array_intersect
□ 适用版本:PHP4 >= 4.0.1
□ 函数功能:计算数组元素的交集。
□ 函数语法:array array_intersect (array array1, array array2 [, array ...])
□ 函数说明:array_intersect() 会返回一个数组, 包含了参数中所有数组曾经出现过的数组
元素。
□ 范例程序:
[php]<?php
$array1=array("a" => "绿色", "红色", "蓝色", "白色");
$array2=array("b" => "绿色", "黄色", "黑色", "红色");
$result=array_intersect ($array1,$array2);
foreach($result as $value){
echo "$value <br>";
}
?>[/php]
□ 执行结果:红色绿色
array_keys
□ 适用版本:PHP4
□ 函数功能:返回一个数组所有的键值。
□ 函数语法:array array_keys (array input [, mixed search_vlaue])
□ 函数说明:array_keys() 会返回输入数组中的键值 (数字或文字) , 如果选择指定
search_value , 则只有这个数值的键值会被返回, 否则输入数组中的所有数值都会被返回。
□ 范例程序:
[php]<?php
$array=array(0 => 100, "color" => "red");
$result=array_keys($array);
foreach($result as $value){
echo "$value <br>";
}
$array=array(1, 100, 2, 100);
$result=array_keys($array, 100);
foreach($result as $value){
echo "$value <br>";
}
?>[/php]
□ 执行结果: 0 color 1 3
array_merge
□ 适用版本:PHP4
□ 函数功能:合并两个以上的数组。
□ 函数语法:array array_merge (array array1, array array2[, array ...])
□ 函数说明:array_merge() 可以合并两个以上的数组中的元素, 后面数组的元素附加到前
一个数组元素的最后, 返回的结果是一个数组。假如输入的数组有相同的文字键值, 那么后
面数组中键值里的数值将会取代前面数组中键值里的数值, 假如数组中有相同类型的数字
键值, 则后面的数字不会取代前面的数字。
□ 范例程序:
[php]<?php
$array1=array("水果" => "香蕉", "shuzi"=>1, 2, 6);
$array2=array("f", "g", "水果" => "西瓜", "形状" => "三角形", "shuzi"=>2,2);
$result=array_merge($array1, $array2);
foreach($result as $value){
echo "$value \n";
}
?>[/php]
□ 执行结果:西瓜 1 2 6 f g 三角形 2
array_merge_recursive
□ 适用版本:PHP4 >=4.0.1
□ 函数功能:递回混合两个或两个以上的数组。
□ 函数语法:array array_merge_recursive (array arrya1, array array2 [, array ...])
□ 函数说明:array_merge_recursive() 混合两个或两个以上数组中的元素, 后面数组中的元
素会附加在前面数组元素的最后, 函数执行以后会返回结果数组, 如果输入数组有相同的字
符串键值, 那么这个字符串键值的数据, 会被混和在同一个数组中,这个操作会以递回运行。
以下面这个范例程序来说, 第一个数组中有 "水果" 及 " 5 " 两个键, 而 "水果" 这个键中,
也有一个数组, 其键为 "偏好", 值为 "黄色", 第二个数组中有 "长形"、"水果" 两个键, 而"
水果这个键中, 对有一个数组, 其键为"偏好"、"汽球", "偏好"的键值为 "绿色"。因此经过递
回混合后, 产生了一个新的数组, 数组中的元素包括:一个子数组 "水果"、 5 、长形, 子数
组中有两个键值, 分别是一个 "偏好" 数组及 "汽球", 而这个 "偏好" 数组又包括两个键值,
分别是 "黄色" 及 "绿色"。也就是说具有如下列之数组结构:array ("水果" => array ("偏好"
=> array ("红色", "绿色"), "汽球"), 5, "长形")
□ 范例程序:
[php]<?php
$ar1=array("水果"=>array("偏好"=>"黄色"),5);
$ar2=array("长形","水果"=>array("偏好"=>"绿色","汽球"));
$rsult=array_merge_recursive($ar1,$ar2);
foreach($rsult as $value){
echo $value."\n";
}
echo "<br>";
foreach($rsult["水果"] as $value){
echo $value;
}
echo "<br>";
foreach($rsult["水果"]["偏好"] as $value){
echo $value;
}
?>[/php]
□ 执行结果: Array 5 长形 Array 汽球黄色绿色
array_multiosort
□ 适用版本:PHP4 >=4.0b4
□ 函数功能:将多个或多维数组排序。
□ 函数语法:bool array_multisort (array ar1 [, mixed arg [, mixed ...[,array ...]]])
□ 函数说明:array_multisort() 可以用来一次排序数个数组或是一个多维数组, 这个函数的
参数结构有一点点不一样,但是极有弹性, 第一个参数必须是一个数组, 接着的参数可以是
一个数组, 也可以是排序的顺序方式或比较方式, 排序的顺序方式及比较方式如下所列。排
序的顺序方式:SORT_ASC、升幂排序, SORT_DESC、降幂排序;排序的比较方式:
SORT_REGULAR、一般的项目比较方式, SORT_NUMERIC、数值性的项目比较方式,
SORT_STRING、字符性的项目比较方式。如果没有指定顺序方式及比较方式, 则内定的设
置为 SORT_ASC 及SORT_REGULAR, 如果排序成功会顺回 true 否则返回 false。
□ 范例程序 1:
[php]<?php
$ar1=array("1",500,100,"a");
$ar2=array(1,3,5,"4");
array_multisort($ar1,$ar2);
foreach($ar1 as $value){
echo "$value \n";
}
echo "<br>";
foreach($ar2 as $value){
echo "$value \n";
}
?>[/php]
□ 执行结果: 1 a 100 500 1 4 5 3
□ 范例程序 2:
[php]<?php
$ar=array(array("10",500,100,"a"),array(1,3,"2",1));
array_multisort($ar[0],SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC);
/*SORT_ASC、升幂排序, SORT_DESC、降幂排序;排序的比较方式:
SORT_REGULAR、一般的项目比较方式, SORT_NUMERIC、数值性的项目比较方式,
SORT_STRING、字符性的项目比较方式*/
foreach($ar[0] as $value){
echo "$value \n";
}
echo "<br>";
foreach($ar[1] as $value){
echo "$value \n";
}
?>[/php]
□ 执行结果: 10 100 500 a 1 2 3 1
array_pad
□ 适用版本:PHP4 >= 4.0b4
□ 函数功能:使用指定的数值来延伸数组的长度。
□ 函数语法:array array_pad(array input, int pad_size, mixed pad_value)
□ 函数说明:array_pad() 会返回一个经过延伸长度的数组, pad_size 参数用来指定延伸的长
度。参数 pad_value 则用来设置数值, 如果 pad_size 是正数, 那么所加入的数值就会附加在
这个数组的右边, 如果 pad_size 是负数, 那么所加入的数值就会附加在这个数组的左边,
如果 pad_size 的绝对值小于或等原来输入数组的长度, 那么就不会有延伸的操作产生。
□ 范例程序
[php]<?php
$input=array(11,24,91,12);
$result=array_pad($input,6,0);
foreach($result as $value){
echo "$value \n";
}
echo "<br>";
$result=array_pad($input, -7, -2);
foreach($result as $value){
echo "$value \n";
}
echo "<br>";
$result=array_pad($input, 2, "noop");
foreach($result as $value){
echo "$value \n";
}
?>[/php]
□ 执行结果:
11 24 91 12 0 0 -2 -2 -2 11 24 91 12 11 24 91 12
array_pop
□ 适用版本:PHP4
□ 函数功能:取出数组中最后的元素
□ 函数语法:mixed array_pop (array array)
□ 函数说明:array_pop() 取出并返回数组的最后一个数值, 并且使原来的数组缩短一个数
组元素, 这个功能使数组非常类似堆栈。
□ 范例程序
[php]<?php
$array1=array("a" => "绿色","红色","蓝色","白色");
$array2=array("b" => "绿色","黄色","黑色","红色");
$result1=array_pop($array1);
$result2=array_pop($array2);
echo "$result1 <br>";
echo "$result2 <br>";
?>[/php]
□ 执行结果:白色红色
array_push
□ 适用版本:PHP4
□ 函数功能:在数组的最后加入一个或多个元素。
□ 函数语法:int array_push (array array, mixed var [, mixed ...])
□ 函数说明:array_push() 把数组当作堆栈, 将变量放在数组的最后, 数组增加的长度依据
加入变量的数量来决定, 这个函数的效果就如同重复执行下面的命令:
$array[]=$var;
此函数会返回新加入的元素在数组中的位置。
□ 范例程序
[php]<?php
$stack=array(2, -1);
array_push($stack, "A", 3,5);
foreach($stack as $value){
echo $value."\n";
}
?>[/php]
□ 执行结果:2 -1 A 3 5
array_rand
□ 适用版本:PHP4 >=4.0.0
□ 函数功能:取出数组中一个或多个随机数入口。
□ 函数语法:mixed array_rand (array input [, int num_req])
□ 函数说明:array_rand() 如果想要在一个数组中, 随机选取其中的某几个, 这个函数非常
有用, 在这个函数中, 参数 num_req 用来指定你希望选取多少个随机数入口, 如果不指定
默认值是 1, 在使用这个函数之前, 记得先使用 srand() 来设置随机数产生器种子。在下面
的这个范例中, 会产生三个随机数入口数值, 放在数组 $rand_keys 中。这个范例程序每一次
执行的结果都不一样, 因此下面的执行结果仅供参考。
□ 范例程序
[php]<?php
srand((double)microtime()*999999999);
$input=array("水果", "汽车", "房子", "网络", "银行", "公司", "学校");
$rand_keys=array_rand($input,3);
foreach($rand_keys as $value){
echo $value."\n".$input[$value];
}
?>[/php]
□ 执行结果:3 网络 4 银行 6 学校
array_reverse
□ 适用版本:PHP4>=4.0b4
□ 函数功能:返回一个数组, 将原始数组的元素次序相反。
□ 函数语法:array array_reverse (array array)
□ 函数说明:array_reverse() 会返回一个数组, 数组的内容是将输入数组的元素次序相反。
在下面的范列程序中, 经过这个函数处理后, $result 中的元素次序都按照相反次序排列, 但
是如果其中有的元素是数组, 则子数组中的元素不会以相反的次序排列。
□ 范例程序
[php]<?php
$input=array("php","4.0",5, array("房子","汽车"),"apple");
$result=array_reverse($input);
foreach($result as $value){
echo $value."\n";
}
echo "<br>";
foreach($result[1] as $value){
echo $value."\n";
}
?>[/php]
□ 执行结果: apple Array 5 4 php 房子汽车
array_shift
□ 适用版本:PHP4
□ 函数功能:取出数组的第一个元素。
函数语法:mixed array_shift(array array)
函数说明:array_shift() 取出并返回数组中的第一个元素, 并且将数组中的每一个元素均往
前移动。
□ 范例程序
[php]<?php
$register=array("苹果", "香蕉", "凤梨");
$Shift=array_shift($register);
echo $Shift."\n<br>";
foreach($register as $value){
echo $value."\n";
}
?>[/php]
□ 执行结果:苹果香蕉凤梨
array_slice
□ 适用版本:PHP4
□ 函数功能:取出数组中的部分元素。
□ 函数语法:array array_slice(array array, int offset [, int length])
□ 函数说明:array_slice() 能够依据 offset 及 length 两个参数返回数组中部分的数组元
素。假如 offset 是正数, 则由数组的前面後计算, 假如 offset 是负数, 则计算的顺序将是由
数组的尾端往前计算。假如 length 是正数, 那么这个序列就依照他所指定的长度取对应的
元素个数, 如果 length 是负值, 那么这个序列就会停在从数组的最后算起对应的元素个数。
假如忽略 length, 那么就行 offset 指定的位置一直到数组的最后一个元素。
□ 范例程序
[php]<?php
$input=array("a", "b", "c", "d", "e", "f");
$output=array_slice($input, 1);
foreach($output as $value){
echo $value."\n";
}
echo "<br>";
$output=array_slice($input, 2, -1);
foreach($output as $value){
echo $value."\n";
}
echo "<br>";
$output=array_slice($input, -3, 2);
foreach($output as $value){
echo $value."\n";
}
echo "<br>";
$output=array_slice($input, -5,-1);
foreach($output as $value){
echo $value."\n";
}
echo "<br>";
$output=array_slice($input, 0, 3);
foreach($output as $value){
echo $value."\n";
}
?>[/php]
□ 执行结果: b c d e f c d e d b c d e a b c
array_unique
□ 适用版本:PHP4 >=4.0.1
□ 函数功能:从数组中删除重复的数值。
□ 函数语法:array array_unique(array array)
□ 函数说明:array_unique() 返回一个新的数组, 数组的内容是将输入数组中重复的数据去
除, 并且将第一个数组的键值保留下来。
□ 范例程序:
[php]<?php
$input=array("选择颜色"=>"红色", "蓝色", "颜色选择"=>"红色", "绿色",
"蓝色", "黄色");
echo $input[0];
echo $input[1]."<br>";
$result=array_unique($input);
foreach($result as $value){
echo $value;
}
?>[/php]
□ 执行结果:红色绿色蓝色黄色
array_unshift
□ 适用版本:PHP4
□ 函数功能:在数组的前面放入一个或多个元素。
□ 函数语法:int array_unshift(array array, mixed var [, mixed ...])
□ 函数说明:array_unshift() 能放入一个或多个元素到数组的前面, 如果放入的元素是一串,
那么这一串元素会按照原来的排列顺序放入数组的前面, 返回的数值是新的数组的元素个
数。
□ 范例程序:
[php]<?php
$Array1=array("青春", "脚步");
$result=array_unshift($Array1, "我们", "踏着","活泼");
echo $result."<br>";
foreach($Array1 as $value){
echo $value;
}
?>[/php]
□ 执行结果: 5 我们踏着活泼青春脚步
array_values
□ 适用版本:PHP4
□ 函数功能:返回一个数组中所有的数值部分。
□ 函数语法:array array_value(array input)
□ 函数说明:array_values() 会返回输入数组中所有的数值部分, 去除键值的部分。
□ 范例程序:
[php]<?php
$array=array("输入电脑"=>"错误", "内存"=>"容量");
array_values($array);
echo $result."<br>";
foreach($array as $value){
echo $value;
}
?>[/php]
□ 执行结果:错误容量
arsort
□ 适用版本:PHP3, PHP4
□ 函数功能:将一个数组依据内容以相反的顺序排序。
□ 函数语法:void arsort(array array [, int sort_flags])
□ 函数说明:这个函数能够排序一个数组, 依据数值的内容反向排序, 键值也随着数值的内
容而调整。在下面的范例中, 数组的内容依据文字的内容反向排序, 同时每一个数据的相对
键值也随之调整。
□ 范例程序:
[php]<?php
$fruits=array("水果"=>"orange", "汽车"=>"lancer", "书局"=>"acertwp",
"手表"=>"swiss");
arsort($fruits);
while(list($key, $val) = each($fruits)){
echo "$key = $val\n <br>";
}
?>[/php]
□ 执行结果:手表 = swiss 水果 = orange 汽车 = lancer 书局 = acertwp
asort
□ 适用版本:PHP3, PHP4
□ 函数功能:将一个数组依据内容的顺序排序。
□ 函数语法:void asort (array array [, int sort_flags])
□ 函数说明:这个函数能够排序一个数组, 依据数值的内容循序排序, 键值也随着数值的内
容而调整。在下面的范例中, 数组的内容依据文字的内容循序排序, 同时每一个数据的相对
键值也随之调整。
□ 范例程序:
[php]<?php
$fruits=array("水果"=>"orange", "汽车"=>"lancer", "书局"=>"acertwp",
"手表"=>"swiss");
asort($fruits);
while(list($key, $val) = each($fruits)){
echo "$key = $val\n <br>";
}
?>[/php]
□ 执行结果:书局 = acertwp 汽车 = lancer 水果 = orange 手表 = swiss
compact
□ 适用版本:PHP4
□ 函数功能:利用变量及它的数值制造一个数组。
□ 函数语法:array compact(mixed varname [, mixed ...])
□ 函数说明:compact() 的参数中可以放入变量名称, 每一个参数可以是字符串或者是变量
名称的数组, 这个数组内可以包含其他变量名称的数组。在下面的范例中, 执行的结果就相
当于产生一个如下的数组: array("EVENT"=>"921 地震", "CITY"=>" 唐山市",
"COUNTRY"=>"中国")
□ 范例程序:
[php]<?php
$CITY="唐山市";
$COUNTRY="中国";
$EVENT="921 地震";
$LOC_VAR=array("CITY", "COUNTRY");
$result=compact("EVENT", $LOC_VAR);
while(list($key, $val) = each($result)){
echo "$key = $val\n <br>";
}
?>[/php]
□ 执行结果: EVENT = 921 地震 CITY = 唐山市 COUNTRY = 中国
count
□ 适用版本:PHP3, PHP4
□ 函数功能:计算数组中元素的个数。
□ 函数语法:int count(mixed var)
□ 函数说明:返回数组中元素的个数, 如果参数不是一个数组会返回 1, 如果参数没有设置
则会返回 0, 如果数组是一个空数组, 那么也会返回 0, 可以利用函数isset() 来测试变量是
不是已经设置。
□ 范例程序:
[php]<?php
$CITY="唐山市";
$COUNTRY="中国";
$EVENT="921 地震";
$LOC_VAR=array("CITY", "COUNTRY");
$result=count(compact("EVENT",$LOC_VAR));
echo $result;
?>[/php]
□ 执行结果:3 |
|