php数组总结

1.创建数组:
     $data[]=1; $data[]=2;
     $data["one"] = "1'";$data["two"] = "2";
     array(1,2,3,4);
     array("one"=>"1","two"=>"2");
     range(1,10);
     range(0,20,2);//表示0-20的步长为2的数组,即偶数的数组
 
2.输出数组:
      foreach($data AS $val){
           echo($val);
     }
     向浏览器输出就是用print_r();
 
3.检查是否是数组:
     is_array();
     
4.数组的操作:
    4.1 在数组的头添加元素:array_unshift($data,"three",“foru")   返回的是数组
    4.2 在数组的尾添加元素:array_push($data,"three",“foru")      返回的是数组
    4.3 删除数组的头元素:   array_shift($data")                          返回的是被删去的头元素
    4.4 删除数组的尾元素:   array_pop($data)                            返回的是被删掉的尾元素
    4.5 搜索元素:               in_array($data,$val)                         返回布尔值
    4.6 搜索关联数组键:     array_key_exists("one",$data)            返回布尔值
    4.7 搜索关联数组值:     array_search("one",$data)                 返回布尔值
    4.8 获取数组键:           array_keys($data)                             返回键的数组
    4.9 获取数组值:           array_values($data)                           返回值的数组
 
5.遍历数组:
     5.1 指针移到下一个数组位置    next($data)               返回下一个数组元素的值
     5.2 指针移到前一个数组位置    prev($data)               返回前一个数组元素的值
     5.3 指针移到第一个数组位置    reset($data)               返回第一个数组元素的值
     5.4 指针移到最后一个数组位置 end($data)                返回最后一个数组元素的值
     5.5 获取当前数组键                 key($data)                返回当前指针所在的数组建
     5.6 获取当前数组值                 current($data)           返回当前指针所在的数组值
 
6.确定数组的大小与唯一性:
     6.1 数组的大小                      count($data)                     返回数组的个数
     6.2 统计数组元素出现的频度  array_count_values()          返回对应的值与数目的数组
     6.3 确定唯一的数组元素         array_unique()                  删除重复的值,返回只有唯一值的数组
 
7.数组的排序:
     7.1 逆置顺序                            array_reverse()        返回数组,保持键值关联映射  
     7.2 置换数组的键与值               array_flip()               返回置换后的数组
     7.3 数组升序排序                      sort()                       返回数组,不保持键值关联映射  
     7.4 数组升排序                         asort()                      返回数组,保持升序键值关联映射
     7.5 数组降序排序                      rsort()                      返回数组,不保持键值关联映射  
$data = array(20,3,60,10);
function randfun($a,$b){
    if($a == $b){
      
     return 0;
     }
     return $a>$b ? 1: -1;
}
usort($data,'randfun');
print_r($data);    // Array ( [0] => 3 [1] => 10 [2] => 20 [3] => 60 )
 
8.数组的合并,拆分,结合与分解:
     8.1 合并数组array_mergr($arr1,$arr2)                           返回一个合并的数组,如果键值重复则被覆盖   
     8.2 递归追加数组 array_mergr_recursive($arr1,$arr2)     返回一个合并的数组,如果键值重复则则形成新的数组当做一个值,其键作为新的数组名 
     8.3合并两个数组array_combine($arrkey,$arrval)             返回新的数组,一组是为键,二组是对应值,两个数组大小要相同
     8.4 拆分数组array_slice($arr,$offset)                             返回从巨头到offset键值开始截断剩下的数组
     8.5 接合数组 array_splice($arr,$offset)                          返回删除从巨头到offset键值的值,返回所删除的数组
     8.6 求数组的交集 array_intersect()                                返回交集的数组,键是保留第一个数组的所在键
     8.7 求关联数组的交集 array_intersect_assoc()                返回键和值有相同的值
     8.8 求数组的差值 array_diff()                                        返回出现在第一个数组但是不出现在其他数组的值
     8.9 求关联数组的差值 array_diff_assoc()                        返回出现在第一个数组但是不出现在其他数组的值
     8.10 返回随机数组 array_rand($arr,2)                           随机返回2个值的数组
     8.11 随机洗牌数组 shuffle()                                          返回随机排列的数组
     8.12 对数组中的值求和 array_sum()                             返回最终的和,如果是字符串则忽略
     8.13 划分数组 array_chunk($data,4)                              返回一个被拆了4个的多维数组
 
posted @ 2013-07-01 19:49  钱艳英  阅读(202)  评论(0编辑  收藏  举报