-
数组
-
就是将多个"数据"放在一起,排成一个有序序列,这个序列作为一个整体(里面包括了多个数据), 就称为"数组"。
-
下标的可用值可以使用整数或字符串。
-
- 数组常用函数
- max():获取一个数组中的最大值
- min():获取一个数组中的最小值
- count():获取一个数组的元素个数
- in_array():判断一个数据是否在指定数组中。 语法形式: $b= in_array( $数组,数据); // 结果 true 或 false
- range():生成某个范围的连续值的数组 比如 range(3, 9) 会得到数组: array(3, 4.5,6, 7,8, 9);
- array_keys():取出一个数组中的所有“键”并放入一个索引数组中。
- array_values():取出一个数组中的所有“值”并放入一个索引数组中。
- array_push():将一个或多个数据放入一个数组的“末端”。
- 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); // 将数组中的指针移动到最前一个位置,并取得新位置上的值;
<?php
// 分别对应的下标
$arr = array(
'a' => 'abc', // 'a'
'def', // 0
10, // 1
5 => 20, // 5
'b' => 22, // 'b'
30 // 6
);
// 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 '<br>' . $key . '=>' . $value;
next($arr);
}
/*
a=>abc
0=>def
1=>10
5=>20
b=>22
6=>30
*/
?>
- 数组创建使用方式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
// 定义数组
$info1 = array('dzm', 18, '男');
$info2 = array('name'=>'dzm', 'age'=>18, 'gender'=>'男');
// 新版本中上面两种方法还可以这么写 ---- 推荐
$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
// 整体输出数组
print_r($info1); // Array ( [0] => xyq [1] => 18 [2] => 男 )
print_r($info2); // Array ( [name] => dzm [age] => 19 [gender] => 男 )
?>
</body>
</html>