PHP数组的访问方法有几种,数组常用方法有哪些

数组中常用的方法有:1、给数组末尾添加新内容的push方法;2、删除数组最后一项的pop方法;3、删除数组第一项的shift方法;4、向数组首位添加新内容unshift方法等等。

02886b5f225de3b435e262c3dda9abac.png

数组常用的一些方法:

1、push()

向数组的末尾添加新内容

参数:要添加的项。传递多个用逗号隔开,任何数据类型都可以

返回值:新增后数组的长度

是否改变原数组:改变let ary1 = [12,34,26];

ary1.push(100); //返回一个新的长度

length=4console.log(ary1)//结果为 [12,34,26,100]

2、pop()

删除数组的最后一项

参数:无

返回值:被删除的项

是否改变原数组:改变let ary2 = [108,112,39,10];

ary2.pop();//删除的最后一项为10

console.log(ary2);//[108, 112, 39]

3、shift()

删除数组的第一项

参数:无

返回值:被删除的项

是否改变原数组:改变let ary3 = [0,108,112,39];

ary3.shift();//删除的第一项为0

console.log(ary3);//[108, 112, 39]

4、unshift()

向数组首位添加新内容

参数:要添加的项,多项用','隔开

返回值:新数组的长度

是否改变原数组:改变let ary4 = ['c','d'];

ary4.unshift('a','b');

console.log(ary4);//["a", "b", "c", "d"]

5、slice()

按照条件查找出其中的部分内容

参数:

array.slice(n, m),从索引n开始查找到m处(不包含m)

array.slice(n) 第二个参数省略,则一直查找到末尾

array.slice(0)原样输出内容,可以实现数组克隆

array.slice(-n,-m) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项

返回值:返回一个新数组

是否改变原数组:不改变let ary5 = [1,2,3,4,5,6,7,8,9];

//console.log(ary5.slice(2,8));//从索引2开始查找到索引为8的内容,结果为[3, 4, 5, 6, 7, 8]

//console.log(ary5.slice(0));

console.log(ary5.slice(-2,-1));//[8]

6、splice()

对数组进行增删改

增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面

返回空数组

修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分

把原有内容删除掉,然后用新内容替换掉

删除:ary.splice(n,m) 从索引n开始删除m个内容

(如果第二个参数省略,则从n删除到末尾)

返回删除的新数组,原有数组改变//增加

let ary6_z = [33,44,55,66,77,88];

ary6_z.splice(2,0,'a','b')

console.log(ary6_z);// [33, 44, "a", "b", 55, 66, 77, 88]

//修改

let ary6_x = [33,44,55,66,77,88];

ary6_x.splice(1,2,'x','y')

console.log(ary6_x);// [33, "x", "y", 66, 77, 88]

//删除

let ary6_s = [33,44,55,66,77,88];

//console.log(ary6.splice(3,2))//[66, 77]

console.log(ary6_s.splice(3));//[66, 77, 88]

7、join()

用指定的分隔符将数组每一项拼接为字符串

参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)

返回值:拼接好的字符串

是否改变原数组:不改变let ary7 = [1,2,3];

console.log(ary7.join('、'));//1、2、3

8、concat()

用于连接两个或多个数组

参数:参数可以是具体的值,也可以是数组对象。可以是任意多个

返回值:返回连接后的新数组

是否改变原数组:不改变let ary8 = ['你'];

let ary80 = ary8.concat('好');

console.log(ary80);//["你", "好"]

9、indexOf()

检测当前值在数组中第一次出现的位置索引

参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回-1

是否改变原数组:不改变let ary9 = ['a','b','c','d','e','a','f'];

console.log(ary9.indexOf('c'));//2

console.log(ary9.indexOf('a',3))//5

10、lastIndexOf()

检测当前值在数组中最后一次出现的位置索引

参数:array.lastIndexOf(item,start) item:查找的元素 start:字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回-1

是否改变原数组:不改变let ary10 = ['a','b','c','d','e','a','f'];

console.log(ary10.lastIndexOf('c'));//2

console.log(ary10.lastIndexOf('f',1))//-1

11、includes()

判断一个数组是否包含一个指定的值

参数:指定的内容

返回值:布尔值

是否改变原数组:不改变let ary13 = ['a','b','c','d'];

console.log(ary13.includes('c'));//true

console.log(ary13.includes(2));//false

12、sort()

对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)

参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序

返回值:排序后新数组

是否改变原数组:改变

sort在不传递参数情况下,只能处理10以内(个位数)数字排序let ary11 = [32,44,23,54,90,12,9];

ary11.sort(function(a,b){ // return a-b; // 结果[9, 12, 23, 32, 44, 54, 90]

// return b-a; // 结果[90, 54, 44, 32, 23, 12, 9] })

console.log(ary11);

13、reverse()

把数组倒过来排列

参数:无

返回值:倒序后新数组

是否改变原数组:改变let ary12 = [6,8,10,12];

console.log(ary12.reverse());//[12, 10, 8, 6]

14、forEach()

循环遍历数组每一项

参数:函数 ary.forEach(function(item,index,ary){}) item:每一项 index:索引 ary:当前数组

返回值:无

是否改变原数组:不改变

forEach中不能使用continue和break,forEach中不能跳出,只能跳过(return跳过)let ary14 = ['a','b','c','d'];

let item = ary14.forEach(function(item,index,ary){

console.log(item,index,ary);

})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

roaringbitmap java,roaringbitmap 源码解析 bitmap add过程

最近在做标签平台的分析引擎。底层涉及到位图的处理,所以涉及到roaringbitmap。

java opcode 反汇编,如何将VM的opcode嵌入汇编源码中

这次来一个关于VM的混淆办法,可能只是个小trick,仅仅来自胡思乱想也许你会觉得很奇怪,一个VM能有啥新鲜的,对,单纯来说VM保护源代码已经非常的成熟了,所以在这里只做最基本的介绍,而且这次的重点…

php ip 合法,什么是合法ip地址

合法的IP地址中,每个三位数都是在0~254之间的,不可能是大于254就连255都不行。这才是合法的IP地址,还有 IP地址有A\B\C类IP。iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式。A类的IP地址范围为0.0.0.0-127.255.255.255B类的IP地址范…

java seteditable,Java TextField.setEditable方法代碼示例

import java.awt.TextField; //導入方法依賴的package包/類public void setupDBFields(String dbname) throws Exception{viewPane.setLayout(null);Dimension dimView sp.getSize();int height 0, width 50;viewPane.removeAll();db new DBF(dbname);setTitle(dbname);gb …

php session和cookie区别,php中session和cookie的区别是什么?

一、Session(1)Session的由来以及介绍Session:在计算机中,尤其是在网络应用中,称为“会话控制”,生存时间为用户在浏览某个网站时,从进入网站到关闭这个网站所经过的这段时间,也就是用户浏览这个网站所花费的时间。由于Http是一种…

安卓上传文件php失败,android - php上传图片时 $_FILES为空

写了一个php上传的程序,用来接收安卓post上传过来的图片,接收到的$_FILES为空。 这个程序在之前的服务器上是可以的,程序没有改动的情况下,迁移到新的服务器后就不行了。原来的服务器php 5.3.10 Apache2.2.22,新的服务…

matlab 泡泡图,使用matlab绘制2维、3维气泡图

在学习模糊c均值聚类时,突然想到能否将每个样本对所属簇的奴属度(C)用气泡图的形式表示出来,这样就可以在一张图上同时获得分类与奴属度(C)两类信息。在matlab中没有绘制气泡图的专用函数,不过可以通过手动设置参数,来最终达到气泡…

php openssl加密数据长度,PHP使用openssl解密数据(用mcrypt加密)

所以我不需要评论3DES不安全和ECB不好等等,我们知道,这就是为什么我们试图解密,以有一个更好的加密算法。我在下面提供了使用mcrypt进行加密的代码,以及我们试图使用的1行代码(openssl)对其进行解密。它总是返回false,我们想知道为什么。我开始怀疑问题是mcrypt库使用了8字节的…

matlab用for编写乘法表,实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法覃照乘自092 电气工程学院一、实验目的:1、熟悉MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本知识:◆for循环结构语法&#…

用vscode可以开发php,【编程开发工具】vscode能够编写php吗

Visual Studio Code一个轻量且壮大的代码编辑器,支撑Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支撑,而且具有雄厚的插件生态系统,可通过装置插件来支撑C、C#、Python、PHP等其他言语。Visual Studio Code设置php…

ant混淆编译java web,Android中使用ant混淆编译

搞了好几天,查看了上百个网站,最后摸索出一套很简单的ant混淆编译的方法。下面开始:1.拿一个普通项目来说,首先为它加上ant编译功能。android update project --name project_name -t 3 -p D:/temp/project_name此时会在项目根目录…

matlab漂亮图表,漂亮,美观的图表之Matlab强势回归~~~~走你8

今天来画3D plot% Load the dataload latticeExamplexx x(:);yy y(:);zz z(:);% locate the non-zero pointsa find(T~0);% plot the non-zero points using a scatter plot% use the values of T to represent both color and size of symbolsscatter3(xx(a),yy(a),zz(a),…

php打开文件读写函数,php中常用文件操作读写函数介绍

本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists 检查文件或目录是否存在 file_put_contents 写入文件 fwrite 写入文件用 PHP 内置函数 file_exists 可以检查某个文件或…

centos7卸载mysql数据库,CentOS7 安装卸载MySQL

[rootlocalhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装MySQL服务器rootlocalhost ~]# yum -y install mysql-community-server2. MySQL数据库设置启动MySQL[rootlocalhost ~]# systemctl start mysqld.service查看MySQL运行…

php v9 如何获取超级管理员权限,phpcms v9 增加后台管理员其他权限角色可以查看信息不能修改信息...

phpcms v9 增加后台管理员其他角色可以查看信息不能修改信息phpcms\modules\content\templates\content_list.tpl.php这里面判断是不是管理员角色,如果不是原来的编辑链接改为查看链接,php代码如下if ($_SESSION[roleid]!1){?>查看详情}else{?>查…

用matlab绘制外部导入数据图像,matlab 外部数据导入方法详解(3)

● load filename X Y Z ...:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。● load filename -regexp expr1 expr2 ...:通过正则表达式指定需要导入的变量。● load -ascii filena…

matlab储备池算法,储备池计算概述.pdf

第 期 电 子 学 报10 Vol.39 No.10年 月2011 10 &a…

matlab课程设计图像处理,MATLAB课程设计--GUI图像处理

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [sfilename ,sfilepath]uiputfile({*.jpg;*.bmp;*.tif;*.*},保存图像文件,untitled.jpg);if ~isequal([sfilename,sfilepath],[0,0]) sfil…

php ../ 和 ./ 区别,php $_POST 与 php://input的区别分析

$_POST 与php://input可以取到值,$HTTP_RAW_POST_DATA 为空$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换php://input 也可以实现此这个功能可以获得POST的原始数据。代码实例echo file_ge…

php fast cgi nginx,通过fast-cgi连接php-fpm和nginx之间的连接是持久的(保持活动)连接吗?...

一年后,我问了这个问题,我似乎找到了答案。(gdb) bt#0 close () at ../sysdeps/unix/syscall-template.S:84#1 0x0000000000a40dff in fcgi_close (req0x1dae3c0, force0, destroy1) at /home/dinosaur/Downloads/php-7.2.2/main/fastcgi.c:1311#2 0x000…