php知识梳理系列-数组(-)
2022年7月8日
重新梳理php基础知识,打牢基础,日常中很多时候感觉自己基础不牢,很多特性记不住,不熟悉,所以打算花时间重新整理自己的知识体系。数组在php中拥有举足轻重的位置,并且也是我们日常开发中用到最多的一块。
认识数组
在php中,数组实际上是一个有序的映射,意思把value与进行关联的key
数组声明
$array = array(
'a' => 1,
1 => 'a'
);
$array_last = [];
在php的数组中key可以是integer
或者 string
。value 可以是任意类型。并且key的值会发生下面几种强制装换的情况:
- 包含有合法十进制整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换。
- 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 10.7 实际会被储存为 10。
- 布尔值也会被转换成整型。在这里true会被转换成1,而false则会被转换成0。
- Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
- 数组和对象不能被用为键名。
在php的数组中,相同键名将会被覆盖,取最后一个值,并且假如中间出现比前一个key值更大的数值,往后没有赋值的key的项将依次加1,如下代码:
$array = array(
"a",
"b",
6 => "c",
"d",
);
/*
var_dump($array);会输出
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
*/
方括号和花括号可以互换使用来访问数组单元,比如$array[0]或者$array{0},都是可以获取到值的,但是方括号语法还可以用来设置数组的值。