数值索引类型
1.声明方式:
$test_array = array("value_1", "value_2", "value_3") # 利用array()
$test_array = ["value_1", "value_2", "value_3"] # 利用[]声明,PHP5.4以后版本能用
2.访问方式:
$test_array[key_num] or $test_array{key_num} # key_num从0开始
3.其它:
- 数值索引可以不从0开始,支持自定义值
关键字索引类型
- 声明方式:
$test_array = [
"key_1"=>"value_1",
"key_2"=>"value_2",
"key_3"=>"value_3"
] # 利用关键字和=>符号声明(其余声明方式也和数值索引大同小异)
- 访问方式:
$test_array["key_name"]
通用:
- 用双引号解析时,$后都会被认为是变量名的一部分,可能会导致解析异常。
- 和其它弱类型一样,支持不声明直接赋值
- 数值的遍历访问
for ($i=0; $i<3; $i++){ # 利用for循环遍历数组值
echo $test[$i]."<br />";
}
foreach ($test as $each){ # 利用foreach遍历数组值
echo $each."<br />";
}
foreach ($test as $key=>$value){ # 利用foreach遍历数组键值对
echo $key."-->".$value."<br />";
}
while ($each_element = each($test)){ # 利用while循环和each()函数来实现遍历键值对
echo $element['key'].'-->'.$element['value']."<br />";
}
reset($test);
while (list($key_t, $value_t) = each($test)){ # 利用while循环、each()、list()函数来实现遍历键值对
echo $key_t."-->".$value_t."<br />";
}
reset($test)
- each()函数返回数组当前指针的键值对,并移动指针,可以配合reset()重置指针位置,在php7.2中已经被弃用
- list()函数在php7之前是从右到左赋值,不建议对顺序有所依赖
- array 操作:
$a + $b # 连结数组,对有冲突的key不添加
$a == $b # 两个数组含有相同的元素
$a === $b # 全等:元素、类型、顺序都要一致
$a != $b # 含有不同元素
$a <> $b # 同上
$a !== $b # 完全不等:元素、类型、顺序都不一致
- 多维数组即数组中嵌套数组
- 数组排序
- 其它函数参看PHP在线手册