1、简介:数组存储方式是键值对

2、声明:$数组变量名=array(2,3,9,3,“546”,“yy”=>”hhhh”,100=>”uu100”);

3、下标注意:可为“字符串”或者整数,整数组成的字符串会自动转换为整数,如“80”完全等价于整数88

4、添加或者修改值:$数组变量名[下标]=“值”;//旧下标是重新赋值,新下标是创建新键值对

5、追加:$数组变量名[ ]=”值“;//追加形式添加值,其下标默认为最高数字下标排序

6、打印:print_r($数组变量名);echo $数组变量名[“下标”];var_dump($数组名)

7、清除元素:unset($数组名或者$数组名[下标]);//清除键值对

$数组名或者$数组名[下标]=null;//只清除值

$变量名=array_values($数组名);//数组删除后下标进行从新索引

8、二维数组:$数组变量名=array(“y1”,”y2”,array(“u1”,”u2”));//echo $数组名[2][0];//输出u1

9、数组的遍历:for循环,对下标的整数连续性要求很高

foreach($数组名 as  $变量名){echo $变量名;}//打印数组所有的值

foreach($数组名 as  $变量1 => $变量2){ …}//变量1为键,变量2为值

list($变量1,$变量2)=数组;echo $变量1;//整数下标需从零开始并连续

10、相关函数:

罗列所有值:array_values($数组变量名);//返回数组的所有值,并组成一个新的有序数组

罗列所有键:array_keys($数组变量名);//返回数组所有键名,并组成一个新有序数组,可加参数

查看元素是否存在:in_array(“值1“,$数组1,);//返回元素值1在不在数组1中,值1可为数组

查看键是否存在:array_key_exists(键名,$数组名);、isset($数组名[键名]);

用值查键:array_search(“值1”,$数组1);//返回值1所对应的键名

反序:array_reverse($数组变量名);//返回值为反序后的数组

统计元素总数:count($数组名);//array("y1",array("u1","u2")); 长度为2//count($数组,1),长度为4

统计值出现次数:array_count_values($数组名);//返回为数组  值=>次数

删除重复值:array_unique($数组名);//返回去重复后数组,最先出现的保留

过滤数组值:$yy=array("yy0","uu1",array("uu","pp"));

array_filter($yy,function($valuex){//函数过滤掉假值

if(is_array($valuex))return false;

else return true;});//过滤值中数组,返回过滤后的数组

处理数组值:$yy=array("uu0","uu1","uu2","uu3");

array_walk($yy,function(&$valuex, &$keyx){//数组值和键引用参数传进来,&

$valuex.="-----";});

print_r($yy);//Array ( [0] => uu0----- [1] => uu1----- [2] => uu2----- [3] => uu3----- )

值排序(改变下标):sort($数组变量名);//升序排列 rsort()降序//改变数组内部结构

值排序(不变下标):asort($数组变量名);//升序 arsort($数组变量名);//改变数组内部结构

键排序:ksort($数组变量名); //升序   krsort($数组变量名);//降序//改变数组内部结构

计算机自然排序:natsort($数组变量名);//计算机普通文件列表排序//改变数组内部结构

自定义排序:usort($数组变量名,function($ax,$bx){

If($ax>$bx) return 1;//升序,-1为降序

}

自定义排序类似函数:uasort,保持下标不变;uksort 键排序

数组间排序:array_multisort($排序数组名,$跟排数组名1,$跟排数组名2……);//更改原数组内容

取部分值:array_slice($数组名,起始位置,取个数);//返回数组,位置可为负数—从后往前减小

获取数组间交集:array_intersect($数组1,$数组2,$数组3);//返回数组//array_diff()//差集

删除部分:array_splice($数组名,起始位置,个数);//返回数组

替换部分为某一值:array_splice($数组名,起始位置,个数,值);//改变原数组内部,但直接打印如上

数组合并1:array_combine($键数组,$值数组);//键值数组个数必须一一对应

数组合并2:$数组3=$数组1+$数组2;//相同下标会覆盖,且以数组1为准

数组合并3:array_merge($数组1,$数组2);//重新索引,关联数组【“=>”】下标相同会覆盖

随机取值:array_rand($数组1);//返回数组1随机下标//array_rand($数组1,个数)//返下标数组

打乱数组:shuffle($数组名);//更改原数组结构

求和:array_sum($数组1);//输出数组1里全部元素的数字和

声明指定范围数组:range(包含起始值,包含结束值,跳步值)//返回数组

创建一个有相同初值的数组:array_fill(开始下标,结束下标,初值);//返回数组

11、超全局数组:值可直接改变,作为全局变量使用

$_GET、$_POST、$_SESSION、$_FILES……

$_REQUEST可以接受客户端的get和post请求数据//不建议用

$_SERVER:服务器基本情况配置,客户端的访问环境

……

【PHP篇】数组的更多相关文章

  1. 网易前端微专业,JavaScript程序设计基础篇:数组

    不论什么一种语言数组都是比較重要的,其作为一种基础对象应用非常多,如Java你肯定少不了集合(List,Map)这些.因此本篇主要记录JS的数组使用和经常用法.要点例如以下: 1,数组创建 两种方式: ...

  2. java学习笔记(基础篇)—数组模拟实现栈

    栈的概念 先进后出策略(LIFO) 是一种基本数据结构 栈的分类有两种:1.静态栈(数组实现) 2.动态栈(链表实现) 栈的模型图如下: 需求分析 在编写代码之前,我习惯先对要实现的程序进行需求分析, ...

  3. js学习篇--数组按升序降序排列

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 二、JavaScript语言--JS基础--JavaScript进阶篇--数组

    1.什么事数组 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用 ...

  5. VBS基础篇 - 数组

    数组变量:有时需要向一个单一的变量赋于多个值,那么您可以创建一个可包含一系列值的变量,这种变量被称为数组. '静态数组 ) a()="George" a()="john& ...

  6. Java学习第四篇:数组,排序,查找

    一.数组 1.一维数组 (1).数组的定义 数据类型 数组名[]=new 数据类型[大小] public class Demo1 { public static void main(String[] ...

  7. iOS开发——C篇&数组与指针

    2015-07-17 13:23 编辑 前面我们介绍了关于C语言的内存分配问题,下面我们就开始介绍关于C语言的两个非常重要的知识点:数组与指针 数组与指针其实不仅仅是再C语言中,再OC中(当然OC是内 ...

  8. Javascript进阶篇——(数组)笔记整理

    什么是数组数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. <script type="text/javascript"& ...

  9. js篇-数组合并其中属性值相同的项目且属性值相加

    项目背景是:var a = [{id:1,num:"12"},{id:2,num:"13"},{id:3,num:"3"},{id:2,nu ...

  10. C语言 指针基础篇 数组,函数与指针的运用 2 14

    下面看看如何在函数中运用指针吧 下面是往函数传入指针的简单操作,不是传入数组的.判断一个a是否大于b是的话给,是的话对其进行操作,不是的话就直接返回. #include <stdio.h> ...

随机推荐

  1. 20170506计划-----(基于python查询oracle语句)

    在日常的工作中,经常接到开发同事查询生产SQL的请求,公司又不允许对开发开放查询SQL的权限,并且查询的堡垒机又很慢,计划做一个可以自动查询SQL的小工具,一周内完成吧. 大概功能实现了,一些涉及敏感 ...

  2. Oracle 开机自动启动设置

    步骤: 1:查看ORACLE_HOME是否设置 $ echo $ORACLE_HOME /u01/app/oracle/product//dbhome_1 2:执行dbstart 数据库自带启动脚本 ...

  3. Spring Boot 启动(二) 配置详解

    Spring Boot 启动(二) 配置详解 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring Boot 配置 ...

  4. Python:每日一题008

    题目: 判断101-200之间有多少个素数,并输出所有素数. 程序分析: 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 个人思路及代码: li ...

  5. 由odoo源不稳定想到的,一个非常简单但是有效的方式解决yum源不稳定的问题,实现无限重试

    如题,最近在安装odoo 10, 但是官方源的速度是在是不敢恭维,断断续续的. yum 有没有能够无限重试的参数,于是用python写了个死循环,让它无限重试下去 脚本如下: #! /usr/bin/ ...

  6. 使用 Chrome 浏览器插件 Web Scraper 10分钟轻松实现网页数据的爬取

    web scraper 下载:Web-Scraper_v0.2.0.10 使用 Chrome 浏览器插件 Web Scraper 可以轻松实现网页数据的爬取,不写代码,鼠标操作,点哪爬哪,还不用考虑爬 ...

  7. 每日一练ACM 2019.0418

    Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离.   Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2 ...

  8. Github使用:使用github用作自己的免费域名

    1.创建一个新仓库 --- 删除里面的文件 --- Git上传文件到新仓库(必须有index.html) 2. 点击新仓库的setting,下滑找到GitHub Pages ---- 点击第一行的链接 ...

  9. Book : <Hands-on ML with Sklearn & TF> pdf/epub

    非常好的书,最近发现了pdf版本,链接:http://www.finelybook.com/hands-on-machine-learning-with-scikit-learn-and-tensor ...

  10. vue webpack打包后 iconfont引入路径不对

    vue webpack打包后 iconfont引入路径不对 { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', option ...