前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >关于数组的最后一个元素之后是否需要追加”,”(逗号)

关于数组的最后一个元素之后是否需要追加”,”(逗号)

作者头像
Yiiven
发布于 2022-12-15 05:53:11
发布于 2022-12-15 05:53:11
2.4K00
代码可运行
举报
文章被收录于专栏:怡文菌怡文菌
运行总次数:0
代码可运行

因为接触的东西越来越多,阅读的内容也越来越丰富,最近就产生了一个困惑:“当我们写数组时,是否需要在数组的最后一个元素之后追加一个逗号”

有问题,那么我们就需要找思路来解决和处理问题,实践出真知,说干就干,测试开始o(∩_∩)o__

首先需要明确我们的探究目的:

  1. 两种书写方式有什么不同
  2. 追加逗号是否会造成语法错误
  3. 追加逗号是否会改变数组长度
  4. 两种书写方式各有什么优缺点
  5. 追加逗号的方式适合在哪些语言中应用

首先,我们看看两种写法的区别

PHP为例:

不追加逗号是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array(
  "name" => "lilei",
  "age" => "18"
)

追加逗号是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array(
  "name" => "lilei",
  "age" => "18",
)

然后,我们要检查追加逗号是否会造成语法错误或者产生警告

首先我们需要将PHP错误报告级别设置为最严格的方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
error_reporting(E_ALL);

然后执行下面这段简单的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$arr= array(
  "name" => "lilei",
  "age" => "18",
);
print_r($arr);

执行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [name] => lilei
    [age] => 18
)

嗯,结果很美,并没有报告任何错误和警告,连notice都没有

结论:追加逗号不会造成PHP的语法错误

再然后,我们还需要检查一下是否会改变数组的长度

还是上面那个数组,我们分别对两种写法进行一次count()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//不追加逗号
$arr= array(
  "name" => "lilei",
  "age" => "18"
);
echo count($arr);

//追加逗号
$arr= array(
  "name" => "lilei",
  "age" => "18",
);
echo count($arr);

执行结果:

不追加逗号:2

追加逗号:2

结论:追加逗号不会改变数组长度

两种写法的优缺点对比

优点

缺点

追加逗号

无论是增加还是删减元素,都无需考虑数组结尾有没有追加逗号,改变时随心即可完成,方便

虽然在PHP中追加逗号不存在问题,但在json和sql中,这种语法是会产生错误的

不追加逗号

完全符合PHP的语法,且几乎所有语言的语法逻辑都是如此,不必担心兼容性问题

除了变更数组的时候需要考虑数组结尾有没有追加逗号之外,似乎并没有什么特别突出的缺点

结语

建议大家还是养成良好的习惯,同意编程风格,不采用在数组最后一个元素后面追加逗号的做法,尤其是需要接触多种语言的情况下。

或者可以只在php中使用追加逗号这种做法

又或者可以选择性的在PHP中使用追加逗号的做法,比如

在格式化写法时追加逗号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array(
  "name" => "lilei",
  "age" => "18",
)

在非格式化写法时不追加逗号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array("name" => "lilei","age" => "18")

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193130

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP中把数据库查询结果输出为json格式
可以看到,直接进行json_encode();编码,是将三个数组分别转为了json格式,而且两端会出现中括号!!还有另外一种写法
Yiiven
2022/12/15
1.9K0
js 数组详细操作方法及解析
目的:Array.of() 出现的目的是为了解决上述构造器因参数个数不同,导致的行为有差异的问题。
kif
2023/02/27
1.3K0
js 判断数组中是否包含某个元素(转载)「建议收藏」
来源:https://www.cnblogs.com/yunshangwuyou/p/10539090.html
全栈程序员站长
2022/11/04
18.5K0
js 判断数组中是否包含某个元素(转载)「建议收藏」
JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象。 JavaScript数组元素可以为任意类型,最大容纳232-1个元素。 JavaScript数组是动态的,有新元素添加时,自动更新length属性。 JavaScript数组元素索引可以是不连续的,它们之间可以有空缺。
Esofar
2018/09/05
4.2K0
原生 JavaScript 手写数组 API
本文将会先了解数组 API 的用法再模拟实现这些 API ,如果各位大佬觉得有什么不对的地方麻烦指点以下!
小丞同学
2021/08/16
7670
04JavaScript数组
所以可以得到对于索引数组,长度是有效的;但对于关联数组无法获取长度。而对于稀疏数组,取决于键。
Dreamy.TZK
2020/04/09
3180
面试官:常见的数组方法有哪些?
一、常规操作(增、删、改、查) 增 push() 方法往数组尾部添加元素,并改变数组长度 let arr = [1] arr.push(2) console.log(arr) // [1,2] unshift()方法往数组前面插入元素,并改变数组长度 let arr = [1,2] arr.unshift(0) console.log(arr) // [0,1,2] splice() 方法传入三个参数,依次是 开始位置、要删除的元素数量、插入的元素 // 从 0 下标开始,删除长度为0 ,插入元素
前端老道
2022/12/01
2640
GO语言基础之数组
1、数组是具有相同唯一类型的一组已编号且长度固定的数据项序列。 2、数组长度必须是常量。一旦定义,长度不能变。 3、数组可以通过下标进行访问,第一个元素索引为 0,第二个索引为 1,最后一个元素索引是:len-1 4、数组是值类型,赋值和传参会复制整个数组,而不是指针。因此改变副本的值,不会改变本身的值。
墨紫羽墨
2022/02/27
3470
数组、字符串方法大全
delete:删除键值对的方式也可以删除数组中的对应项,不会改变数组中原有项的索引
星辰大海c
2023/11/20
1890
数组、字符串方法大全
JavaScript中的数组方法总结+详解「建议收藏」
功能: 在数组最后一位添加一个或多个元素,并返回新数组的长度,改变原数组.(添加多个元素用逗号隔开)
全栈程序员站长
2022/09/14
1.4K0
JavaScript中的数组方法总结+详解「建议收藏」
写一个去除数组中重复元素的函数
Set是一种只存储唯一值的数据结构,因此任何重复的元素都会被自动忽略。然后,我们使用扩展运算符…将Set对象转换回数组,并返回这个新的数组。
程序媛夏天
2024/03/13
1360
编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]
    软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行。
aehyok
2018/08/31
1.7K0
编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]
一篇文章搞定Java数组初始化,从此告别迷惑
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/01/18
6382
一篇文章搞定Java数组初始化,从此告别迷惑
JS 数组(一)
Array.isArray方法返回一个布尔值,表示参数是否为数组。它可以弥补typeof运算符的不足。
小小范
2022/01/06
29K0
JS 数组(一)
前端学习(40)~js学习(十七):数组的常见方法&数组的遍历
unshift():在数组最前面插入一个或多个元素,返回结果为该数组新的长度。插入元素后,其他元素的索引会依次调整。
Vincent-yuan
2020/03/19
1.9K0
如何提高PHP书写效率?提高PHP书写效率的几个示例
编程是一门艺术,效率为王,如何提高 PHP 书写效率? 遍历数组 在遍历数组中注意 count 的使用次数,不要每次都去计算数组长度 效率慢的写法: <?php $array = array(1,2,
沈唁
2018/05/24
9750
js获取数组的最后一个元素
下面是js获取数组最后一个元素的三种方式 一、JavaScript pop() 方法 pop() 方法用于删除并返回数组的最后一个元素。 注意:pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 var arr = new Array("js","JavaScript","jQuery"); var end = arr.pop() console.log(end);//
用户2323866
2021/06/23
13K0
Golang基础之数组 转
数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(注:当然,如果是 interface{} 类型数组,可以包含任意类型) 。
双面人
2019/04/10
5100
javascript-你可能不知道的数组
使用 reduce 与 reduceRight 函数可以迭代数组的所有元素,reduce 从前开始 reduceRight 从后面开始。
编程内马尔
2022/11/15
3730
javascript-你可能不知道的数组
最全 JavaScript Array 方法 详解
我们在日常开发中,与接口打交道最多了,前端通过访问后端接口,然后将接口数据二次处理渲染到页面当中。 二次处理的过程是 考验 Coder 对 Array 是否熟练 以及 在 何种 场景下使用哪种方法处理最优 。 小编,在最近开发中就遇到了 Array 问题, 在处理复杂的业务需求时,没想到Array 有类似的方法,然后将方法 组合起来解决当下问题。
程序员海军
2021/10/11
1.1K0
最全 JavaScript Array 方法 详解
相关推荐
PHP中把数据库查询结果输出为json格式
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文