PHP 知识量:7 - 20 - 67
定义一个数组可以使用array()函数,也可以使用数组名加中括号直接赋值的方式。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php $array1 = array('red', 'yellow', 'green'); $array2[0] = 'red'; $array2[1] = 'yellow'; $array2[2] = 'green'; var_dump($array1); echo "<br>"; var_dump($array2); ?> </body> </html>
以上代码中,分别使用两种方法,定义了两个数组$array1和$array2,它们完全相同。
使用array()函数定义关联数组稍微复杂一些,需要指明键名,例如:
$array1= array('one' => 'red', 'two' => 'yellow', 'three' => 'green');
要向一个已经存在的数组添加新元素,只需要将新值赋值给数组名加一个空白中括号即可。例如:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php $array1 = array('red', 'yellow', 'green'); var_dump($array1); echo "<br>"; $array1[] = 'blue'; var_dump($array1); ?> </body> </html>
以上代码中,“blue”会自动被赋值给$array1[3],即数组中下一个最大的数字索引。
如果是在关联数组中,上述方式也是可以的,但是会产生一个混合了数字和字符串键名的数组,这在数组管理上容易带来混乱,因此,在向关联数组中添加新元素时,最好在中括号内明确指示它的字符串键名。
要删除数组中某个元素可以使用array_splice()函数,它实际是一个数组截取函数,它有三个参数:
第一个参数是要操作的数组
第二个参数是起始位置
第三个参数是截取的长度,是可选的,如果省略则会截取到数组末尾。
array_splice()函数会返回截取的数组,原数组则是截取后剩下的部分组成的数组,从而实现了数组元素的删除。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php $array1 = array('one' => 'red', 'two' => 'yellow', 'three' => 'green'); var_dump($array1); echo "<br>"; $part = array_splice($array1, 1); var_dump($array1); echo "<br>"; var_dump($part); ?> </body> </html>
以上代码中,经过array_splice()函数的操作,数组$array1会包含red一个元素,数组$part会包含yellow和green两个元素。
要删除数组元素还可以使用unset()函数,只需要将要删除的数组元素作为值传递给它即可。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php $array1 = array('one' => 'red', 'two' => 'yellow', 'three' => 'green'); var_dump($array1); echo "<br>"; unset($array1['one']); var_dump($array1); ?> </body> </html>
以上代码中,经过unset()函数的操作,数组$array1会包含yellow和green两个元素,元素red则被删除了。
对数组元素进行遍历可以使用foreach语句,它允许循环对数组每一个元素的键/值进行访问。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php $array1 = array('one' => 'red', 'two' => 'yellow', 'three' => 'green'); foreach ($array1 as $key => $value) { echo "The key is : $key and the value is : $value<br>"; } ?> </body> </html>
以上代码中,通过foreach语句对数组$array1进行了遍历,每循环一次,就读取数组当前的键名和键值,分别赋值给变量$key和$value,并打印出来。这类似于var_dump()函数,但是使用foreach语句可以按照自己的意图对打印格式进行控制。当然除了打印,还可以在每次循环中进行其他操作。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6