代码改变世界

PHP函数-数组函数

2012-07-20 16:33  BytesLoop  阅读(305)  评论(0编辑  收藏  举报
  1. array_change_key_case    将数组中的所有键名改为全小写或大写
  2. array_chunk    将一个数组分割成一个多维数组,获取的数组是一个多维数组中的单元,其索引从零开始
  3. 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 ?>
  4. array_count_values    统计数组中所有的值出现的次数,返回数组,该数组用被统计的数组中的值作为键名,该值出现的次数作为值
  5. 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 ?>
  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 ?>
  7. array_diff    计算数组的差集,不带索引检查
  8. array_fill    用给定的值填充或建立一个数组,这个值必须是一个大于0的数值
  9. array_filter    用自定义的回调函数过滤数组中的每个单元
  10. array_flip    交换数组中的键和值的位置,如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
  11. 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 ?>
  12. 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 ?>
  13. array_key_exists    检查给定的键名或索引是否存在于数组中
  14. array_keys    返回数组中所有的键名
  15. array_map    将自定义的回调函数作用到给定数组的单元上
  16. array_merge_recursive    递归地合并两个或多个数组
  17. array_merge    合并两个或多个数组
  18. 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 ?>
  19. array_pad    用给定的值将数组填补到指定的长度
  20. array_pop    将数组的最后一个单元弹出
  21. array_push    将一个或多个单元压入数组的末尾
  22. 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 ?>
  23. array_reduce    用回调函数迭代地将数组简化成单一的值
  24. array_reverse    返回一个单元顺序相反的数组
  25. array_search    在数组中搜索给定的值,如果成功则返回相应的键名
  26. array_shift    将数组开头的单元移出数组
  27. 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>
  28. array_splice    把数组中的一部分去掉并用其他值取代
  29. array_sum    计算数组中所有值的和
  30. array_udiff_assoc    带索引检查的计算数组的差集,返回数组
  31. array_udiff_uassoc    带索引检查计算数组的差集,可自定义比较函数
  32. array_udiff    计算数组的差集,不带索引检查
  33. array_unique    移除数组中重复的值
  34. array_unshift    在数组开头插入一个或多个单元
  35. array_values    返回数组中所有的值
  36. array_walk    对数组中的每个成员应用用户函数
  37. array    新建一个数组
  38. arsort    对数组进行逆向排序并保持索引关系
  39. asort    对数组进行排序并保持索引关系
  40. 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 ?>
  41. count    统计变量中的单元数目
  42. current    返回数组中的当前单元
  43. 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实例解析
  44. end    将数组的内部指针指向最后一个单元
  45. extract    从数组中将变量导入到当前的符号表
  46. 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 ?>
  47. key    从结合数组中获取键名
  48. krsort    对数组按照键名逆向排序
  49. ksort    对数组安装键名排序
  50. 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 ?>
  51. natcasesort    用"自然排序"算法对数组进行不区分大小写字母的排序
  52. 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 )
  53. next    将数组中的内部指针向前移动一位
  54. prev    将数组的内部指针倒回一位
  55. range    建立一个包含指定范围单元的数组
  56. reset    将数组的内部指针指向第一个单元
  57. rsort    对数组逆向排序
  58. shuffle    将数组打乱
  59. sort    对数组排序
  60. uasort    应用用户自定义的比较函数对数组中的值进行排序并保持索引关联
  61. uksort    应用用户自定义的比较函数对数组中的键名进行排序
  62. usort    应用用户自定义的比较函数对数组中的值进行排序