数组简介及分类
数组定义:
- 数组是PHP中的重要数组类型之一,是复合类型;
- 数据的集合,在PHP中数组是一个有序映射;
数组分类
- 索引数组:数组的下标是数字;
- 关联数组:数组的下标为字符是关联数组;
注意:PHP中数组其实是不区分索引还是关联数组,都是根据键名找到对应的键值
定义数组
1. 通过array()形式:
- array()空数组;
- array(值,...)下标连续的索引数组,下标从0开始;
- array(键名=>键值,...)指定下标的索引数组、关联数组、混合数组;
- 通过[]的形式定义数组,代替array();
注意: 检测是否为数组:var_dump(); gettype(); is_array();
2. 通过 [ ] 动态创建:
- $数组名称[]=值:下标连续的索引数组;
- $数组名称[键名]值:指定下标的索引数组和关联数组
3. 通过range()和compact()快速创建:
- range()快速创建下标连续的索引数组
- compact()快速创建关联数组
4. 通过define()定义常量数组
使用数组
- 根据键名找键值;
- $数组名称[键名]|$数组名称{键名}
其它类型转换成数组
- 临时转换:(array)$var;
- 永久转换:settype($var,$type);
注意:
- 标量类型转换成数组,只有一个元素,键名为0,键值为变量的值;
- null转换成数组是空数组;
- 不要把对象和资源转换成数组;
数组运算符
- +运算符:合并数组,如果键名相同,使用前面数组的键值;
- == :只比较键名和键值是否相同,如果相同返回true,否则返回false;
- ===:既要比较键名和键值是否相同,还要比较类型和顺序;
- != <>:相当于取反;
- !==:相当于取反;
遍历数组
1. 通过foreach遍历数组:
- 只要键值:foreach($数组名称 as $val){循环体;};
- 既要键名又要键值:foreach($数组名称 as $key=>$val){循环体;};
注意:
可以通过:和endforeach代替{};
PHP7中foreach的改变:
foreach循环对数组内部指针不再起作用;
按照值进行循环的时候,foreach是对该数组的值得拷贝;
按照引用进行循环的时候,再循环体内修改数组对循环有影响
2. 通过指针函数遍历:
- key();
- current();
- next();
- prev();
- end();
- reset();
3. 通过each()和list()函数遍历数组:
- each();
- list()
评论列表(0条)