数组是最常用的线性数据结构。php的数组分为索引数组和关联数组,类似Python的list和dict两种结构。索引数组使用索引(index)进行索引,关联数组使用键值(key)进行索引。下面代码创建一个空数组。
$arr = array();
如果数组初始值为空,我们不需要像C语言一样初始化其大小,向起添加元素时会自动增长。
下面代码创建了一个索引数组,并使用索引0取出值和赋值。
<?php
$arr = array("aaa", "bbb", "ccc");
echo $arr[0];
$arr[0] = "ddd";
echo $arr[0];
?>
下面的关联数组使用一个字符串作为键值。
<?php
$arr = array("key1"=>"aaa", "key2"=>"bbb", "key3"=>"ccc");
echo $arr["key1"];
$arr["key1"] = "ddd";
echo $arr["key1"];
?>
使用foreach...as
结构进行数组遍历时,如果遍历的是索引数组,key值就是索引值,如果是关联数组,key值就是管理数组的键值。
<?php
$arr = array("key1" => "aaa", "key2" => "bbb", "key3" => "ccc");
foreach ($arr as $k => $v) {
echo $k . "=>" . $v . "<br />";
}
?>
上面代码输出如下。
key1=>aaa
key2=>bbb
key3=>ccc
对于索引数组,我们一般都使用array_push
在其结尾添加元素。
array_push($device, "/dev/sda1");
对于关联数组,我们一般拿它当字典(Python中的概念)用,添加元素直接写就可以。
$oneDiskJson["device"] = "/dev/sda1";