- 数组
- 就是将多个"数据"放在一起,排成一个有序序列,这个序列作为一个整体(里面包括了多个数据), 就称为"数组"。
- 下标的可用值可以使用整数或字符串。
数组常用函数
- max():获取一个数组中的最大值
- min():获取一个数组中的最小值
- count():获取一个数组的元素个数
- inarray():判断一个数据是否在指定数组中。 语法形式: \$b= inarray( \$数组,数据); // 结果 true 或 false
- range():生成某个范围的连续值的数组 比如 range(3, 9) 会得到数组: array(3, 4.5,6, 7,8, 9);
- arraykeys():取出一个数组中的所有“键”并放入一个索引数组中。
- arrayvalues():取出一个数组中的所有“值”并放入一个索引数组中。
- arraypush():将一个或多个数据放入一个数组的“末端”。
- array pop():将一个数组的最后一个单元删除,并返回该单元的值。
- array_ reverse():将一个数组的所有单元的顺序进行反转(最前的放最后,最后的放最前)
- 整数下标的特性 可以使用任意整数,也可以不显式使用下标,此时默认就是整数下标。 而且,从前往后,每一个没有使用下标的单元,系统给其分配的下标为之前所用过的整数下标的最大值+1。
<?php // 分别对应的下标 $arr = array( 'a' => 'abc', // 'a' 'def', // 0 10, // 1 5 => 20, // 5 'b' => 22, // 'b' 30 // 6 );
- PHP中,有如下几个函数,可以针对数组指针进行相应操作:
- \$re = current(\$arr1); // 取得数组中当前指针所在单元的值;
- \$re = key(\$arr1); // 取得数组中当前指针所在单元的键(下标) ;
- \$re = next(\$arr1); // 将数组中的指针往后移动一个位置,并取得新位置上的值;
- \$re = prev(\$arr1); // 将数组中的指针往前移动一个位置,并取得新位置上的值;
- \$re = end(\$arr1); // 将数组中的指针移动到最后一个位置,并取得新位置上的值;
- \$re = reset(\$arr1); // 将数组中的指针移动到最前一个位置,并取得新位置上的值;
```
// foreach 便利 $key => $value foreach ($arr as $key => $value) { echo $key . '=>' . $value; } // foreach 便利 $key foreach ($arr as $key) { echo $key; } // foreach 便利 $value foreach ($arr as $value) { echo $value; }
// 快捷获取属性 echo current($arr); // 'abc' echo key($arr); // 'a' next($arr); // 指针往后移动一位 echo current($arr); // 'def' echo key($arr); // '0' end($arr); // 指定移动到最后 echo current($arr); // 30 echo key($arr); // 6 reset($arr); // 指针回到第一个 echo current($arr); // 'abc' echo key($arr); // 'a'
// for 循环便利 $len = count($arr); for ($i = 0; $i < $len; $i++) { $key = key($arr); $value = current($arr); echo '
' . $key . '=>' . $value; next($arr); } /* a=>abc 0=>def 1=>10 5=>20 b=>22 6=>30 */ ?> ```
- 数组创建使用方式:
```
// 新版本中上面两种方法还可以这么写 ---- 推荐 $info1 = ['dzm', 18, '男']; $info2 = ['name'=>'dzm', 'age'=>18, 'gender'=>'男'];
// 给数组某项赋值 $info1[0] = 'xyq'; $info2['age'] = 19;
// 使用数组(使用单项) echo $info1[0]; // xyq echo $info2['name']; // dzm echo $info2['age']; // 19
// 整体输出数组 printr($info1); // Array ( [0] => xyq [1] => 18 [2] => 男 ) printr($info2); // Array ( [name] => dzm [age] => 19 [gender] => 男 ) ?> ```