PHP函数-数组函数
2012-07-20 16:33 BytesLoop 阅读(309) 评论(0) 编辑 收藏 举报- array_change_key_case 将数组中的所有键名改为全小写或大写
- array_chunk 将一个数组分割成一个多维数组,获取的数组是一个多维数组中的单元,其索引从零开始
- array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
1 <?php 2 $a=array('asp 图书','php 图书','jsp 图书'); 3 $b=array('50','62','45'); 4 $c=array_combine($a,$b); 5 print_r($c); //Array ( [asp 图书] => 50 [php 图书] => 62 [jsp 图书] => 45 ) 6 ?>
- array_count_values 统计数组中所有的值出现的次数,返回数组,该数组用被统计的数组中的值作为键名,该值出现的次数作为值
- array_diff_assoc 带索引检查的计算数组的差集,返回数组
1 <?php 2 $a=array("asp"=>"实例应用","php"=>"函数手册","java"=>"实战宝典"); 3 $b=array("asp"=>"实例应用","函数大全","基础应用"); 4 $c=array_diff_assoc($a,$b); 5 print_r($c); //Array ( [php] => 函数手册 [java] => 实战宝典 ) 6 ?>
- array_diff_uassoc 带索引检查计算数组的差集,可自定义比较函数
1 <?php 2 function key_compare_func($a,$b){ 3 if($a==$b){ 4 return 0; 5 } 6 return($a>$b)?1:-1; 7 } 8 $a=array("asp"=>"实例应用","php"=>"函数手册","java"=>"实战宝典"); 9 $b=array("asp"=>"实例应用","函数大全","基础应用"); 10 $c=array_diff_uassoc($a,$b,"key_compare_func"); 11 print_r($c); //Array ( [php] => 函数手册 [java] => 实战宝典 ) 12 ?>
- array_diff 计算数组的差集,不带索引检查
- array_fill 用给定的值填充或建立一个数组,这个值必须是一个大于0的数值
- array_filter 用自定义的回调函数过滤数组中的每个单元
- array_flip 交换数组中的键和值的位置,如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
- array_intersect_assoc 带索引检查的计算数组的交集,返回数组
1 <?php 2 $array1 = array("a" => "green", "b" => "brown", "red"); 3 $array2 = array("a" => "green", "c" => "blue", "red"); 4 $result_array = array_intersect_assoc($array1, $array2); 5 print_r($result_array); //Array ( [a] => green [0] => red ) 6 ?>
- array_intersect 计算数组的交集,不带索引检查
1 <?php 2 $a=array("asp"=>"实例应用","php"=>"函数手册","java"=>"基础应用"); 3 $b=array("asp"=>"实例应用","函数大全","基础应用"); 4 $c=array_intersect($a,$b); 5 print_r($c); //Array ( [asp] => 实例应用 [java] => 基础应用 ) 6 ?>
- array_key_exists 检查给定的键名或索引是否存在于数组中
- array_keys 返回数组中所有的键名
- array_map 将自定义的回调函数作用到给定数组的单元上
- array_merge_recursive 递归地合并两个或多个数组
- array_merge 合并两个或多个数组
- array_multisort 对多个数组或多维数组进行排序
1 <?php 2 $grade=array("score"=>array(70,95,70.0,60,"70"),"name"=>array("Zhang San","Li Si","Wang Wu","Zhao Liu","Liu Qi")); 3 array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,$grade["name"],SORT_STRING,SORT_ASC); 4 // 将分数作为数值,由高到低排序 将名字作为字符串,由小到大排序 5 var_dump($grade); 6 ?>
- array_pad 用给定的值将数组填补到指定的长度
- array_pop 将数组的最后一个单元弹出
- array_push 将一个或多个单元压入数组的末尾
- array_rand 从数组中随机获取一个或多个单元
1 <?php //应用array_rand()函数从图书馆的技术类图书中随机抽取3本书做推荐图书 2 $array = array("php函数大全","php基础实例","php程序设计","php典型案例"); 3 if($_POST){ 4 $result = array_rand($array, 3); 5 echo "三本书分别为:".$array[$result[0]].",".$array[$result[1]].",".$array[$result[2]]; 6 } 7 ?>
- array_reduce 用回调函数迭代地将数组简化成单一的值
- array_reverse 返回一个单元顺序相反的数组
- array_search 在数组中搜索给定的值,如果成功则返回相应的键名
- array_shift 将数组开头的单元移出数组
- array_slice 从数组中取出一段
1 <pre> 2 <?php 3 $arr=array("PHP函数手册","PHP基础教程","3","4","ASP案例"); 4 print_r(array_slice($arr,2)); //Array ( [0] => 3 [1] => 4 [2] => ASP案例 ) 5 print_r(array_slice($arr,2,-1)); //Array ( [0] => 3 [1] => 4 ) 6 print_r(array_slice($arr,-2,1)); //Array ( [0] => 4 ) 7 print_r(array_slice($arr,0,3)); //Array ( [0] => PHP函数手册 [1] => PHP基础教程 [2] => 3 ) 8 ?> 9 </pre>
- array_splice 把数组中的一部分去掉并用其他值取代
- array_sum 计算数组中所有值的和
- array_udiff_assoc 带索引检查的计算数组的差集,返回数组
- array_udiff_uassoc 带索引检查计算数组的差集,可自定义比较函数
- array_udiff 计算数组的差集,不带索引检查
- array_unique 移除数组中重复的值
- array_unshift 在数组开头插入一个或多个单元
- array_values 返回数组中所有的值
- array_walk 对数组中的每个成员应用用户函数
- array 新建一个数组
- arsort 对数组进行逆向排序并保持索引关系
- asort 对数组进行排序并保持索引关系
- compact 建立一个数组,包括变量名和它们的值
1 <?php 2 $a="ASP"; 3 $b="PHP"; 4 $array=array("a","b"); 5 $c="JSP"; 6 $result=compact("c",$array); 7 print_r($result); //Array ( [c] => JSP [a] => ASP [b] => PHP ) 8 ?>
- count 统计变量中的单元数目
- current 返回数组中的当前单元
- each 返回数组中当前的键名和值对并将数组指针向前移动一步
1 <?php 2 $array=array("PHP"=>"PHP典型应用","AJAX"=>"AJAX实例解析"); 3 $result=each($array); 4 print_r($result); 5 echo "<br>"; 6 reset($array); //将数组的指针移动到初始位置 7 while(list($key,$value)=each($array)){ 8 echo "$key=>$value<br>"; 9 } 10 ?> 11 //Array ( [1] => PHP典型应用 [value] => PHP典型应用 [0] => PHP [key] => PHP ) 12 //PHP=>PHP典型应用 13 //AJAX=>AJAX实例解析
- end 将数组的内部指针指向最后一个单元
- extract 从数组中将变量导入到当前的符号表
- in_array 检查数组中是否存在某个值
1 <?php 2 $array = array("php函数大全","php基础实例","asp经典案例"); 3 if($_POST){ 4 $name = $_POST['name']; 5 if(in_array($name, $array)){ 6 echo "$name 是馆内图书"; 7 }else{ 8 echo "$name 是馆外图书"; 9 } 10 } 11 ?>
- key 从结合数组中获取键名
- krsort 对数组按照键名逆向排序
- ksort 对数组安装键名排序
- list 把数组中的值赋给一些变量
1 <?php 2 $array = array("68人"=>"php函数大全","23人"=>"php基础实例","56人"=>"php程序设计","55人"=>"php典型案例"); 3 if($_POST){ 4 krsort($array); //应用krsort()函数对图书进行逆向排序 5 $result = array_values($array); //应用array_values()函数取出数组的值并重设数字索引 6 list($first,$second,$third) = $result; //应用list()函数获取最受读者欢迎的3本PHP图书 7 echo "受读者欢迎的三本书:$first ,$second ,$third"; //受读者欢迎的三本书:php函数大全 ,php程序设计 ,php典型案例 8 } 9 ?>
- natcasesort 用"自然排序"算法对数组进行不区分大小写字母的排序
- natsort 用"自然排序"算法对数组排序,区分大小写字母
<?php $array=array("a1","a3","A10","A30","a11"); natcasesort($array); //自然排序,不区分大小写 print_r($array); echo "<br>"; $array=array("a1","a3","A10","A30","a11"); natsort($array); //自然排序,区分大小写 print_r($array); echo "<br>"; $array=array("a1","a3","A10","A30","a11"); sort($array); //计算机排序法 print_r($array); ?> //Array ( [0] => a1 [1] => a3 [2] => A10 [4] => a11 [3] => A30 ) //Array ( [2] => A10 [3] => A30 [0] => a1 [1] => a3 [4] => a11 ) //Array ( [0] => A10 [1] => A30 [2] => a1 [3] => a11 [4] => a3 )
- next 将数组中的内部指针向前移动一位
- prev 将数组的内部指针倒回一位
- range 建立一个包含指定范围单元的数组
- reset 将数组的内部指针指向第一个单元
- rsort 对数组逆向排序
- shuffle 将数组打乱
- sort 对数组排序
- uasort 应用用户自定义的比较函数对数组中的值进行排序并保持索引关联
- uksort 应用用户自定义的比较函数对数组中的键名进行排序
- usort 应用用户自定义的比较函数对数组中的值进行排序
作者:skyXnet
邮箱:iwanc@qq.com
出处:http://www.iwanc.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。