PHP基础-常用的数组相关处理函数
一 数组键/值操作有关的函数
1. array_values()//获取数组中所有的值
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySqL", "laguage"=>"php"); $arr=array_values($lamp); list($os, $wb, $db, $lang)=$arr; echo $os."<br>";
echo $wb."<br>";
echo $db."<br>";
echo $lang."<br>"; echo '<pre>';
print_r($arr);
echo '</pre>';
2. array_keys()//返回数组中所有的键
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySql", "laguage"=>"php");
三种用法:
$arr=array_keys($lamp);
$arr=array_keys($lamp, "MySql");
$arr=array_keys($lamp, "100", true);
echo '<pre>';
print_r($arr);
echo '</pre>';
3. in_array() //判断值是否在数组中
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySql", "laguage"=>"php", "html"=>"100", array("a", "b")); if(in_array(array("a", "b"), $lamp)){
echo "exists";
}else{
echo "not exists";
} if(in_array("100", $lamp, true)){
echo "exists";
}else{
echo "not exists";
} echo '<pre>';
print_r($arr);
echo '</pre>';
4. array_key_exists//判断数组中是否存在相应的键
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySql", "laguage"=>"php", "html"=>"100", array("a", "b")); if(array_key_exists("os1", $lamp)){
echo "exists";
}else{
echo "not exists";
} echo '<pre>';
print_r($arr);
echo '</pre>';
5.array_flip -- 交换数组中的键和值
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySql", "laguage"=>"php", "html"=>"100", 10=>"linux"); $arr=array_flip($lamp); echo '<pre>';
print_r($arr);
echo '</pre>';
6. array_reverse -- 返回一个单元顺序相反的数组
$lamp=array("os"=>"linux", "webserver"=>"Apache", "db"=>"MySql", "laguage"=>"php", "html"=>"100", 10=>"linux"); $arr=array_reverse($lamp); echo '<pre>';
print_r($arr);
echo '</pre>'
二、 统计数组元素的个数和惟一性
1. count() sizeof();
2. array_count_values -- 统计数组中所有的值出现的次数
3. array_unique -- 移除数组中重复的值
三、使用回调函数处理数组的函数
1. array_filter() 用回调函数过滤数组中的单元
2. array_walk() 数组中的每个成员应用用户函数
3. array_map() 将回调函数作用到给定数组的单元上
四、数组的排序函数
sort()、rsort()
usort()、asort()
arsort()、uasort()
ksort()、krsort()、uksort()、
natsort()、natcasesort()
array_multisort()
1. 简单的数组排序
sort() rsort()
2. 根据键名对数组排序
ksort() krsort()
3. 根据元素的值对数组排序
asort() arsort()
4. 根据“自然数排序”法对数组排序
natsort() natcasesort()
5. 根据用户自定义规则对数组排序
usort() uasort() uksort()
6.多维数组的排序
array_multisort
五、 拆分、合并、分解、接合的数组函数
1. array_slice()
2.array_splice()
3. array_combine();
4. array_merge();
5. array_intersect();
6. array_diff()
六、 数组与数据结构的函数
1. 使用数据实现堆栈
array_push()
array_pop()
2. 使用队列
array_unshift()
array_shift()
unset()
七、 其它与数据操作有关的函数
array_rand();
shuffle()
array_sum()
range()
PHP基础-常用的数组相关处理函数的更多相关文章
- PHP常用的数组相关处理函数
[数组中常用的多种遍历方式] [for 和 foreach 略] [while() . list() .each() 组合循环遍历数组] each()函数 a. 需要一个数组作为参数 b. 返回来的也 ...
- PHP基础系列(二) PHP数组相关的函数分类整理
之前写过一篇介绍 PHP字符串函数 的博文,这里写第二篇,本文主要介绍PHP 数组相关的函数: 一.检查数组中是否存在 array_key_exists — 检查给定的键名或索引是否存在于数组中 ar ...
- day06-Python运维开发基础(字符串格式化与相关的函数、列表相关的操作)
1. 字符串相关的操作与格式化 # ### 字符串相关操作 # (1)字符串的拼接 + var1 = "亲爱的," var2 = "男孩" res = var1 ...
- Java基础--常用API--IO流相关API
一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...
- 【php】php数组相关操作函数片段
下面这些都是我在工作中用到的函数,现在整理下. 判断是否是一个数组 function _is_array($value){ if (is_array($value)) { return true; } ...
- Java基础--常用API--日期相关API
一.java.util.Date 1.只用于显示系统时间,其大部分操作由Calendar代替. 格林威治时间(GMT):指的是1970年1月1日0时,不同地区有时间差. 默认输出格式:星期.月.日.时 ...
- 最常用的~正则表达式-相关js函数知识简洁分享【新手推荐】
一.正则表达式的创建 JS正则的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 varregObj =newRegExp("(^\s+)|(\s+ ...
- php 数组相关的函数?
array()----创建数组array_combine()----通过合并两个数组来创建一个新数组range()----创建并返回一个包含指定范围的元素的数组compact()----建立一个数组a ...
- matlab 常用集合相关的函数
Matlab常用的集合相关的函数如下: union(A,B) %求集合A和集合B的并集 intersect(A,B) %求集合A和集合 ...
随机推荐
- 【数据结构与算法】——队列(Queue)
队列(Queue)的一个使用场景 银行排队的案例: 队列(Queue)介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出来.后存入的要后取出来. ...
- 从设计模式角度看OkHttp源码
前言 说到源码,很多朋友都觉得复杂,难理解. 但是,如果是一个结构清晰且完全解耦的优质源码库呢? OkHttp就是这样一个存在,对于这个原生网络框架,想必大家也看过很多很多相关的源码解析了. 它的源码 ...
- International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K
题目链接:https://codeforces.ml/gym/102428/attachments/download/9820/statements-en.pdf 题意:构造一个多项式使得外星人编号的 ...
- P1422小玉家的电费(JAVA语言)
package 顺序与分支; /* * 题目描述 夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了. 小玉家今天收到了一份电费通知单.小玉看到上面写:据闽价电[2006]27号规定, 月 ...
- 攻防世界 reverse hackme
hackme XCTF 3rd-GCTF-2017 __int64 __fastcall sub_400F8E(__int64 a1, __int64 a2) { char input[136]; / ...
- time模块&datetime模块
import time a=time.localtime(time.time()) #将时间戳转换为当前时区的元组 print(a) c=time.gmtime(time.time()) #把时间戳转 ...
- 全量同步Elasticsearch方案之Canal
一.前言 Canal 是阿里的一款开源项目,纯 Java 开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB). Canal 除了支持 b ...
- 如何开发一个APP——转自知乎
作者:简单点链接:https://www.zhihu.com/question/22999185/answer/155469014来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- [Fundamental of Power Electronics]-PART I-5.不连续导电模式-5.2 变比M分析
5.2 变比M分析 经过一些改进,第二章中的用于CCM稳态分析的相同技术和近似方法可以应用于DCM. (a)电感伏秒平衡.电感电压直流分量必须为0: \[<v_{L}>=\frac{1}{ ...
- 如何获取canvas当前的缩放值
项目中一直有一个问题困扰着我,我们的画布可以缩放平移旋转,支持拖拽生成图形,生成手写笔迹,如果用户选择的线条粗细为5像素,那么即使画布缩放过绘制出的线条粗细也应该是视觉上的5px,所以再绘制时赋值给c ...