一 数组键/值操作有关的函数
  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基础-常用的数组相关处理函数的更多相关文章

  1. PHP常用的数组相关处理函数

    [数组中常用的多种遍历方式] [for 和 foreach 略] [while() . list() .each() 组合循环遍历数组] each()函数 a. 需要一个数组作为参数 b. 返回来的也 ...

  2. PHP基础系列(二) PHP数组相关的函数分类整理

    之前写过一篇介绍 PHP字符串函数 的博文,这里写第二篇,本文主要介绍PHP 数组相关的函数: 一.检查数组中是否存在 array_key_exists — 检查给定的键名或索引是否存在于数组中 ar ...

  3. day06-Python运维开发基础(字符串格式化与相关的函数、列表相关的操作)

    1. 字符串相关的操作与格式化 # ### 字符串相关操作 # (1)字符串的拼接 + var1 = "亲爱的," var2 = "男孩" res = var1 ...

  4. Java基础--常用API--IO流相关API

    一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...

  5. 【php】php数组相关操作函数片段

    下面这些都是我在工作中用到的函数,现在整理下. 判断是否是一个数组 function _is_array($value){ if (is_array($value)) { return true; } ...

  6. Java基础--常用API--日期相关API

    一.java.util.Date 1.只用于显示系统时间,其大部分操作由Calendar代替. 格林威治时间(GMT):指的是1970年1月1日0时,不同地区有时间差. 默认输出格式:星期.月.日.时 ...

  7. 最常用的~正则表达式-相关js函数知识简洁分享【新手推荐】

    一.正则表达式的创建 JS正则的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 varregObj =newRegExp("(^\s+)|(\s+ ...

  8. php 数组相关的函数?

    array()----创建数组array_combine()----通过合并两个数组来创建一个新数组range()----创建并返回一个包含指定范围的元素的数组compact()----建立一个数组a ...

  9. matlab 常用集合相关的函数

    Matlab常用的集合相关的函数如下:     union(A,B)              %求集合A和集合B的并集     intersect(A,B)             %求集合A和集合 ...

随机推荐

  1. 【数据结构与算法】——队列(Queue)

    队列(Queue)的一个使用场景 银行排队的案例: 队列(Queue)介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出来.后存入的要后取出来. ...

  2. 从设计模式角度看OkHttp源码

    前言 说到源码,很多朋友都觉得复杂,难理解. 但是,如果是一个结构清晰且完全解耦的优质源码库呢? OkHttp就是这样一个存在,对于这个原生网络框架,想必大家也看过很多很多相关的源码解析了. 它的源码 ...

  3. International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K

    题目链接:https://codeforces.ml/gym/102428/attachments/download/9820/statements-en.pdf 题意:构造一个多项式使得外星人编号的 ...

  4. P1422小玉家的电费(JAVA语言)

    package 顺序与分支; /* * 题目描述 夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了. 小玉家今天收到了一份电费通知单.小玉看到上面写:据闽价电[2006]27号规定, 月 ...

  5. 攻防世界 reverse hackme

    hackme XCTF 3rd-GCTF-2017 __int64 __fastcall sub_400F8E(__int64 a1, __int64 a2) { char input[136]; / ...

  6. time模块&datetime模块

    import time a=time.localtime(time.time()) #将时间戳转换为当前时区的元组 print(a) c=time.gmtime(time.time()) #把时间戳转 ...

  7. 全量同步Elasticsearch方案之Canal

    一.前言 Canal 是阿里的一款开源项目,纯 Java 开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB). Canal 除了支持 b ...

  8. 如何开发一个APP——转自知乎

    作者:简单点链接:https://www.zhihu.com/question/22999185/answer/155469014来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  9. [Fundamental of Power Electronics]-PART I-5.不连续导电模式-5.2 变比M分析

    5.2 变比M分析 经过一些改进,第二章中的用于CCM稳态分析的相同技术和近似方法可以应用于DCM. (a)电感伏秒平衡.电感电压直流分量必须为0: \[<v_{L}>=\frac{1}{ ...

  10. 如何获取canvas当前的缩放值

    项目中一直有一个问题困扰着我,我们的画布可以缩放平移旋转,支持拖拽生成图形,生成手写笔迹,如果用户选择的线条粗细为5像素,那么即使画布缩放过绘制出的线条粗细也应该是视觉上的5px,所以再绘制时赋值给c ...