【笔记】PHP的数组

前言

PHP的数组学习笔记

定义一个数组

  • 数组中可以存储任意数据类型的数据,如果数组中存储数组,那么就变成了二维数组乃至多维数组
  • PHP中存储数组都是以键值对的形式存储的,如果没有指定键,则键默认为数组的索引

利用语言结构定义数组

定义索引数组

  • 向相同数组名的数组中添加数据,默认追加到数组的末尾,如果没有指定键名,则键名为数据的索引,默认从0开始
1
2
3
$数组名[] = 数据;
$数组名[] = 数据;
$数组名[] = 数据;

定义关联数组

  • 向相同数组名的数组中添加数据,默认追加到数组的末尾
1
2
3
$数组名[键名] = 数据;
$数组名[键名] = 数据;
$数组名[键名] = 数据;

数组的混合定义

  • 如果同时追加带键名的数据和不带键名的数据,则不带键名的数据的键仍然从0开始
1
2
3
$数组名[键名] = 数据;
$数组名[键名] = 数据;
$数组名[] = 数据;

利用函数定义数组

定义索引数组

  • 键就是数组的索引

<value>:数组所存储的数据,可以是任意数据类型的数据

1
$数组名 = array(数据, 数据, 数据);

定义关联数组

  • 存放键值对,键值对中间用=>关键字关联

<key>:数据的键,通常为字符串
<value>:数据的值

1
2
3
4
5
$数组名 = array(
键名 => 数据值,
键名 => 数据值,
键名 => 数据值
);

数组的混合定义

  • 如果同时追加带键名的数据和不带键名的数据,则不带键名的数据的键仍然从0开始
1
2
3
4
5
$数组名 = array(
键名 => 数据值,
键名 => 数据值,
数据值
);

打印数组

1
print_r($数组名);

对数组中存储的数据的操作

  • 直接向同名数组添加数据
1
2
3
$数组名[] = 数据;

$数组名[键名] = 数据;

  • 直接修改同名数组的相同键名的数据
    • 如果是索引数组,则传递索引值
    • 如果是关联数组,则传递键名
1
2
3
$数组名[索引值] = 数据;

$数组名[键名] = 数据;

  • 直接调用同名数组
    • 如果是索引数组,则传递索引值
    • 如果是关联数组,则传递键名
1
2
3
$arr[索引值]

$arr[键名]

获取数组的长度

1
count($数组名);

判断数组中是否有数据

1
isset($数组名);

数组的遍历

用for循环遍历索引数组

1
2
3
for ($i = 0; i < count($数组名); $i++) {
...
}

用foreach循环遍历任意数组

  • 按顺序遍历数组中所有的数据
1
2
3
4
foreach ($数组名 as $key => $value) {
echo $key;
echo $value;
}

PHP中的内置数组

所有全局变量

1
$GLOBALS

服务器的基本信息

1
$_SERVER

其他页面传递的GET请求参数

1
$_GET

其他页面传递的POST请求参数

  • 当请求体中的Content-Type值为application/x-www-form-urlencoded时,使用$_POST数组处理数据
1
$_POST

其他页面传递的文件请求参数

  • 当请求体中的Content-Type值为application/multipart时,使用$_FILES数组处理数据
1
$_FILES

数组的所有值

数组值 备注
$_FILES['userUpFile']['name'] 文件名
$_FILES['userUpFile']['type'] 文件类型
$_FILES['userUpFile']['tmp_name'] 在系统中缓存的路径
$_FILES['userUpFile']['error'] 错误代码
$_FILES['userUpFile']['size'] 文件大小

当前页面可用的Cookie参数

1
$_COOKIE

当前页面可用的Session参数

1
$_SESSION

多种请求参数

  • 包含了$_GET$_POST$_COOKIE参数
1
$_REQUEST

完成

参考文献

哔哩哔哩——千锋教育网络安全学院