初识php的重点三
一、数组
-
简介:PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。
-
注意:
- 如果下标重复,后面的覆盖前面的
- 如果新添加的元素没有指定下标,则他的下标为已有下标的最大值加一(已有下标不全为负数)
- 如果已有下标都为负数,则新添加的元素的下标为0
- php5.4之后,可通过[]代替array()
-
检测数组:
- var_dump()
- gettype()
- is_array()——推荐
-
数值键名:
- 使用合法的数字字符串
- 浮点数会舍掉小数
- 布尔true ——1,false——0
- null——空字符串
-
创建
1.array() 2.通过[]动态创建: $数字名[] = 值——下标连续的索引数值 $数值名[键名] = 值 ——指定下标的索引数值和关联数组 3.通过rang()和compact() rang()——下标连续的索引数值 compact()——关联数组,只能写已经存在的变量名,且不需要加$ 4.define()
-
使用数组
$数组名[键名] | $数组名{键名}
-
其他类型转换为数组
1. 临时:(array)$var 2. 永久:settype($var,$type) 3. 注意: 标量类型转换为数组,只有一个元素,键名为0,键值为标量的值 null 转为数组是空数组 不用把对象和资源转为数组
-
计算
- +:如果数组键名相同,只会使用表达式左面的数组的值
- ==:比较两数组是否相同
- ===:既要键名和键值相同,而且顺序页要相同(类型一致)
-
遍历
-
int count($arr):得到数组中元素的个数
-
for :只能遍历连续下标的数组
-
foreach......: 仅能够应用于数组和对象
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement 注意: 1. 可以通过 :和 endforeach 代替{} 2. php7中foreach的改变: foreach循环对数组内部指针不在起作用 按照值进行循环的时候,foreach是对该数组的值拷贝 按照引用进行循环的时候,在循环体内修改数组对循环有影响
-
数组指针遍历
image-20200902182930315
-
list()和each()遍历
- list():将下标连续的索引数值赋值给响应的变量
- each();得到当前指针所在位置的键值对,返回的是数值,包含4个部分,并且将指针向下移动一位
-
网友评论