• PHP基础 数组函数 的总结


    <?php
    /**
     *  PHP基础 数组操作函数
     *
     * 指针函数:【类似于数据库的游标】 见例1.1
     * current($arr)/pos    返回当前指针指向的元素
     * key($arr)            返回当前指针指向的键
     * next($arr)            返回当前指针指向的 下一个元素
     * prev($arr)            返回当前指针指向的 上一个元素
     * end($arr)            返回当前指针指向的 最后一个元素
     * reset($arr)            将指针重置指向到 第一个元素
     *
     * 其它函数:
     * count($arr,model)/sizeof($arr,model)        获取数组的长度,model=0/COUNT_RECURSIVE:是否检测多维数组,默认值为0不检测[常用]
     * range(val1,val2,[step])    生成一个指定范围的数组 range(0, 40, 10):array(0, 10, 20, 30, 40)
     * list(var1,var2,var3...)    将数组中的值赋给list中的变量
     * key($arr)                返回当前元素的键名
     *
     * 单数组排序函数:
     * sort             对数组升序排序
     * rsort        对数组倒序排序
     * usort         使用用户自定义的比较函数对数组中的值进行升序排序
     * 
     * krsort        对数组按照键名逆向排序
     * ksort        对数组按照键名排序
     * uksort         使用用户自定义的比较函数对数组中的键名进行排序 
     * 
     * asort        对数组进行排序并保持索引关系
     * arsort         对数组进行逆向排序并保持索引关系 
     * uasort         使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 
     * 
     * natcasesort     用“自然排序”算法对数组进行不区分大小写字母的排序 
     * natsort         用“自然排序”算法对数组排序,区分大小
     * 
     *
     * 数组的 分割与合并:
     * array_chunk($arr,size,[TRUE/FALSE])        数组分割:将一个数组分割成多个数组
     *                                             size:以几个元素为一组
     *                                            [TRUE/FALSE]是否保留原来的键名,默认为FALSE,索引从0开始
     * array_merge($arr1,$arr2...)                合并数组 
     *                                             如果字符键名重复,则后面的覆盖前面的键,如果是数字键重复,则以连续方式重建索引
     * array_combine ($arrKeys ,$arrValues)        构建新数组 = 键数组 + 值数组 (两个数组不为空且个数相同,否则返回FALSE)
     * 
     *
     * 
     * 使用 回调函数 对数组元素进行 处理:                    
     * array_walk($arr,fn, pms)    R:TRUE/FALSE      对数组中的元素进行处理 (fn:对数组元素处理的函数,pms:fn的参数)R:表示返回值
     * array_filter($arr,fn)                    对数组元素进行过滤    (fn:对数组元素进行判断,返回true,则将元素返回)
     * array_map(fn,$arr1,$arr2...)    R:arr        对数组中的元素进行处理 (fn:对数组元素处理的函数)
     * array_reduce(arr,fn,[value])                用回调函数迭代地将数组简化为单一的值(例:计算一个数组的和/积 value:表示用于处理的第一个元素)
     *
     * 数组的 查找与检测:
     * array_values($arr)    R:arr                      对数组重建数字索引
     * array_key_exists(keyname,$arr) R:TRUE/FALSE  检测key是否存在  isset() 对于数组中为 NULL 的值不会返回 TRUE,而 array_key_exists() 会
     * in_array(value,$arr,[TRUE/FALSE])             检测指定的值是否存在 [TRUE/FALSE]:默认TRUE:区分类型检测
     * array_search(value,$arr,[TRUE/FALSE])        搜索给定的值返回键名否则返回FALSE (使用 === 运算符来测试本函数的返回值)
     *
     *
     * 数组  去重:
     * array_unique($arr)    R:arr             去除重复的元素,返回去重后的数组
     *
     * 数组  填充:
     * array_fill(startIndex,count,value)    用指定的值生成一个数组
     *                                         array_fill(3,5,"aa"):从索引3开始,添加5个aa元素
     * array_pad(input, pad_size, pad_value)值将数组填补到指定长度                             
     *
     * 数组  合并:
     * array_merge_recursive(array1)    递归地合并一个或多个数组
     * array_merge(array1)                合并一个或多个数组
     *
     * 多数组  排序:
     * array_multisort(arr)    对多个数组或多维数组进行排序(默认值 SORT_ASC 和 SORT_REGULAR)
     * array_reverse        对数组进行倒序排序
     * 
     *
     * 数组键/值的 获取和添加:
     * array_shift      从开头的单元移出数组 
     * array_unshift      从开头插入一个或多个单元 
     * array_pop         从未尾将数组最后一个单元弹出(出栈)
     * array_push          从未尾将一个或多个单元压入数组的末尾(入栈) 
     * 
     * array_slice        从数组中取出一段
     * array_splice        把数组中的一部分去掉并用其它值取代 
     * array_search     在数组中搜索给定的值,如果成功则返回相应的键名 
     * array_rand        从数组中随机取出一个或多个单元 
     * array_keys($arr,[keyname],[value]) R:keys    获取数组中的键 [keyname]:指定的键名 [value]:与键名进行全等比较的值
     *
     * 
     * 数组中元素和键的 统计与计算:
     * array_sum                                 计算数组中所有值的和 
     * array_product                            计算数组中所有值的乘积
     * array_count_values ($arr) R:newArr([value]=>times)        统计元素在数组中出现的次数    
     *
     * 其它:
     * array_change_key_case ($arr,[caseTye])    键名转换:将字符类型的键转换为全大写或小写,
     *                                             可选参数:[caseTye]=CASE_UPPER/CASE_LOWER(默认为CASE_LOWER)
     *
     *
     * 
     */
    
    
    
    //例1.1
    $arrNums = array(2,5,8,9);
    echo current($arrNums)."
    ";//2    
    echo key($arrNums)."
    ";    //0
    echo next($arrNums)."
    ";    //5
    echo prev($arrNums)."
    ";    //2
    echo end($arrNums)."
    ";    //9
    echo reset($arrNums)."
    ";    //2
    
    ?>
  • 相关阅读:
    .NET开发人员遇到Maven
    基于VS Code创建Java command-line app
    IntelliJ IDEA连接TFS local workspace无法正常签入
    Xcode连接TFS Git用户名和密码不正确解决方案
    Fiddler如何捕捉DefaultHttpClient的HTTP请求
    IIS 6的日志time-taken字段没有值的解决方案
    简单的音乐轮播JS
    SpringCloud分布式开发理解
    SpringCloud分布式开发五大神兽
    socket长连接和短链接区别
  • 原文地址:https://www.cnblogs.com/lt-style/p/3498612.html
Copyright © 2020-2023  润新知