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)."\n";//2
echo key($arrNums)."\n"; //
echo next($arrNums)."\n"; //
echo prev($arrNums)."\n"; //
echo end($arrNums)."\n"; //
echo reset($arrNums)."\n"; // ?>
PHP基础 数组函数 的总结的更多相关文章
- iOS开发环境C语言基础 数组 函数
1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...
- JavaSE语法基础(3)---函数、数组
JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...
- PHP 数组函数整理
如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作. 经常,开发人员发现在PHP中使用这种数据结构 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Go语言基础之函数
Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数 ...
- Golang基础之函数
golang基础之函数 1.为什么需要函数? 有些相同的代码可能出现多次,如果不进行封装,那么多次写入到程序中,会造成程序冗余,并且可读性降低 2.什么是函数 为完成某些特定功能的程序指令集合称为函数 ...
- java基础--常用函数总结
java基础--常用函数总结 2019-3-16-23:28:01-----云林原创 1.split()字符串分割函数 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.Math.flo ...
- Template 基础篇-函数模板(待看
Template 基础篇-函数模板 Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分. Template ...
- PHP常见数组函数总结
一.数组的一些关于键名和值的基础操作函数 1.获取数组所有的键或值:array_keys() array_values() $arr_keys = array_keys($array); $arr_v ...
随机推荐
- Application.DoEvents()的使用
最近做了一个个人数字图书馆管理系统,因为牵扯到电脑文件的扫描,想做一个实时显示当前扫面文件的功能,就类似于360文件扫描时的效果,本来打算用多线程来实现,但是方法太多没有实现,后来在程序中进行控制,由 ...
- InternalsVisibleToAttribute——把internal成员暴露给指定的友元程序集
友元程序集简介 我们知道一个类中被定义为internal的成员(包括类型.方法.属性.变量.事件)是只能在同一个程序集中被访问到的(当然了,我这里说的是正常的方式,不包括通过反射来访问).这个规则在. ...
- C#12种顺序排序
这篇主要写关于顺序排序的十二种算法,也是我有关算法的第一帖.主要是写,对每种算法的理解与测试. 速度测试,主要根据一千.一万.五万.百万这 四种.速度纪录还是用Stopwatch 这个类.使用随机数R ...
- MongoDB安装部署(一)
前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...
- bootstrap学习总结-03 常用标签1
1 显示段落 在HTML中,段落使用p标签包起来,重要的文字使用strong标签,em标签.<em> 标签告诉浏览器把其中的文本表示为强调的内容.对于所有浏览器来说,这意味着要把这段文字用 ...
- BZOJ2152:聪聪可可
传送门 点分治常规题.练习模板 //OJ 2077 //by Cydiater //2016.9.23 #include <iostream> #include <cstdio> ...
- spring--基本介绍
1.1.1 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发.应用程序是由 ...
- SSM的各个配置文件
SqlMapConfig.xml文件:(这是带了mybatis的分页插件的配置) <?xml version="1.0" encoding="UTF-8" ...
- [NOIP2014] 解方程&加强版 (bzoj3751 & vijos1915)
大概有$O(m)$,$O(n\sqrt{nm})$,$O(n\sqrt{m})$的3个算法,其中后2个可以过加强版.代码是算法3,注意bzoj的数据卡掉了小于20000的质数. #include< ...
- 《Java疯狂讲义》(第3版)学习笔记 1 - 如何学习Java
1.Java是一种面向对象语言,不要简单当做脚本使用.从基础学起,不要从Spring.J2EE.Hibernate和EJB开始学. 2.不要浮躁,应该扎扎实实先学好Java语言,然后按Java本身的学 ...