php数组及数组函数总结

0.数组总结

php中的数组作用强大的一X

it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more

     0.1 数组基于hash表,查询速度快,并且不区分索引数组和关联数组,这种方式坏处是,内存占用比较大

     0.2 PHP数组键名可以是:integer,string 值名可以是任何类型

     0.3 PHP数组被foreach检索,如果要检索的时候改变值,可加上引用(注意引用带来的变量生存域)


1.数组函数总结


1.1.改变数组

    
    /**创建数组**/
    array (语法结构)                //新建数组    
    range                           //   建立一个包含指定范围单元的数组 
    compact                         //创建一个包含变量与其值的数组

    /**数组元素**/    
    array_multisort                 //对多个数组或多位数组进行排序
    array_pop                       //数组元素出栈
    array_push                      //数组元素入栈
    array_shift                     //将数组开头的单元移出数组
    array_unshift                   //在数组开头插入一个或多个单元                       
    shuffle                         //将数组打乱 
    
    /**数组内部**/
    each                            // 返回数组中当前的键/值对并将数组指针向前移动一步
    end                             //将数组内部指针指向最后一个单元 
    next                            //前移内部指针
    prev                            //数组内部指针倒退一位
    reset                           //将数组的内部指针指向第一个单元
    
    /**数组排序**/
    arsort                          //   对数组进行逆向排序并保持索引关系(值)
    asort                           //对数组进行排序保持索引关系(值)
    krsort                          //对数组按照键名逆向排序
    ksort                           //对数按照键名排序  
    rsort                           // 对数组逆向排序
    sort                            //对数组排序 
    natcasesort                     // 用“自然排序”算法对数组进行不区分大小写字母的排序  
    natsort                         // 用“自然排序”算法对数组排序      
    uasort                          // 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联      
    uksort                          // 使用用户自定义的比较函数对数组中的键名进行排序
    usort                           // 使用用户自定义的比较函数对数组中的值进行排序      
    
1.2.利用数组
 
 1.2.1.单个数组范围内的操作
   
   /**数组键值 之 【返回数组】**/  
   array_change_key_case            //返回字符串键名大写或者小写    
   array_flip                       //交换数组的键和值
   array_keys                       //返回数组中所有的键名
   array_values                     //返回数组中所有的值 
   array_column                     //返回数组中指定的一列
   array_reverse                    //反转数组   
   array_unique                     //移除数组中重复的值
   
   /**数组键值 之 【返回其它】**/  
   array_count_values               //统计数组中所有的值出现的次数
   array_key_exists = key_exists    //检查给定的键名或索引是否存在与数组中
   array_product                    //计算数组中所有值的乘积
   array_sum                        //计算数组中所有值的和                       
   array_reduce                     // 用回调函数迭代地将数组简化为单一的值   
   array_search                     //在数组中搜素给定的值,成功返回相应的键名
   count = sizeof                   //计算数组中的单元数目或者对象中的属性个数
   current=pos                      //返回数组中的当前单元
   in_array                         //检查数组中是否存在某个值
   key                              //返回当前关联数组的键名
   
   /**应用回调**/
   array_filter                     //用回调函数过滤数组中的单元
   array_map                        //返回将回调函数作用到给定的数组的单元上的数组
   array_walk                       //使用用户自定义的函数对数组中每个元素做回调处理
   array_walk_recursive             //使用用户自定义的函数对数组每个元素做回调(递归)                    
    
   /**数组分割与填充**/
   array_chunk                      //将数组分割成指定大小的多个数组 
   array_rand                       //从数组中随机取出一个或多个单元
   array_fill                       //用给定的值填充数组
   array_pad                        //用值将数组填补到指定长度
    
   /**强大的其它**/
   list                             // 把数组中的值赋给一些变量  
   extract                          //从数组中将变量导入到当前的符号表 



 1.2.2.数组之间的操作
    
    /**数组 差**/  
    array_diff_assoc                //带索引检查计算数组(值和键)的差集
    array_diff_key                  //带索引检索计算数组 键的差集
    array_diff_uassoc               //   用用户提供的回调函数做索引检查来计算数组的差集
    array_diff_ukey                 // 用回调函数对键名比较计算数组的差集
    array_diff                      //计算数组之间的差值(非索引)
   
    /**数组 交**/
    array_intersect_assoc           //带索引计算数组的交集(键名和值同时用于比较)
    array_intersect_key             //使用键名比较数组的交集
    array_intersect_uassoc          //带索引检查计算数组的交集,用回调函数比较索引
    array_intersect_ukey            // 用回调函数比较键名来计算数组的交集
    array_intersect                 //计算数组的交集(非索引)          
    
    /**数组 并**/
    array_merge_recursive           //递归的合并一个或多个数组
    array_merge                     //合并一个或多个数组
    
    /**填充和替换**/
    array_replace                   // 使用传递的数组替换第一个数组的元素
    array_replace_recursive         // 使用传递的数组替换第一个数组的元素(递归方式)
    array_splice                    // 把数组中的一部分去掉并用其它值取代    
    array_fill_keys                 //使用指定键和值填充数组
    array_combine                   //用一个数组的元素作为键名,另个作为值










                        
 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值