韩林涛老师:译者编程知识30天×300字写作计划 | Day 23

初学编程一定要牢记的一个标点符号:中括号

在这周的课上给学生展示了一种从数组中读取数据的方法:

在Excel表格中,左上角第一个单元格的序号是:A1,但是当我们把所在的Excel工作表转换成数组后,它的位置就变成了0,0。

如果我们用$sheet这个变量来给表示整张工作表,那么要想获取A1中的数据,就可以这么表示:

$sheet[0][0]

这种获取数组的方法一开始会让许多同学很疑惑,不知道为什么这样来表示。

这是因为同学们不了解PHP中的数组类型。在PHP中有三种数组类型,分别是:索引数组、关联数组和多维数组。

分别是什么意思呢?

比如你想创建一个数组来存三条术语,分别是:China、USA和Russia,那就可以直接这样:

$terms = array("China", "USA", "Russia");

这种数组为啥叫索引数组呢,原因是我们自动为三条术语赋予了索引(Index),这里的索引就是编号,他们的编号分别是:0,1和2。

如果希望把China打印出来,就是用:echo $terms[0]

而关联数组则是在数组中指明我们的术语的某个属性,比如:

$terms = array( "China" => "中国", "USA" => "美国", "Russia" => "俄罗斯" );

如果想把中国打印出来,就是用: echo $terms["China"]

我们把一条术语的英文和中文关联起来,通过China就能获取到中国,这里的China是“键”(Key),这里的中国就是“值”(Value),它们合在一起就是键值对。

多维数组的话就要复杂一些,这也是初学者经常搞不明白的地方,但你可以理解为是数组里面套数组,如:

$terms = array(

0 => array(

0 => "China",
1 => "中国"

),

1 => array(

0 => "USA",
1 => "美国"

),

2 => array(

0 => "Russia",
1 => "俄罗斯"

)

);

从上面这段代码中可以看到,在$terms这个数组中一共有三个数组元素,他们的编号分别是0,1,2。

在0里面又有一个数组,这个数组中也包含两个元素,编号分别是0和1。

这就是所谓的数组里面包含数组。

如果想把数组中的某个值取出来,就可以连用两个中括号,如:echo $terms[0][0],这时候出来的就是China,如果改成echo $terms[0][1],出来的就是中国。

如果想把所有内容都读取出来就得用循环了。

数组的魅力在于我们可以把自己想存储的数据放到数组中规整的保存起来,使用的时候是需要用循环来读取就可以了,非常高效。所以初学编程的小朋友们一定要搞清楚什么是数组。

---- 分割线 ----

如果有小朋友学过Python,会知道Python中有好几种数据类型,比如元组、字典、列表。

其中列表是这样定义的:

terms = ["China", "USA", "Russia"]

如果想把China读取出来则是用:print(terms[0])

你看,是不是这个时候再去看这个中括号就很熟悉了?而且Python代码整体上要更简洁一些。

Python中的字典则很像PHP的关联数组,比如:

terms = { 'China': '中国', 'USA': "美国", 'Russia': '俄罗斯'}

要打印中国的话就这样写:print(terms['China'])

用的也是中括号。

至于元组,则也是用中括号来读取元素,比如:

terms = ("China", "USA", "Russia")

print(terms[0])

通过上面的两种编程语言的对比,相信大家对中括号的使用更加熟悉了。这个标点符号太重要了,一定要牢记!

附赠几个标点符号的英文读法

圆括号、小括号:Parentheses, Round Brackets 方括号、中括号:Brackets, Square Brackets 花括号、大括号:Braces, Curly Brackets

希望这些能够加深大家对几种括号的理解。

作者:韩林涛,北京语言大学高级翻译学院教师,《译者编程入门指南》作者