PHP数组
创建
-
$list[键名] = 键值
,或$list[] = array( 0 => "asd", 1 => 24, 2 => true, 3 => 80.1 ); $list[] = array("asd",24,true,80.1)
-
未指定键名的情况下,键名从最大的开始计数,依次增大
$stu[10] = "asd"; $stu[20] = 24; $stu[30] = true; $stu[] = 80.1; //键名为31 var_dump($stu);
-
可以手动指定键名
-
键名可以使用字符[串]
$stu['name'] = "asd"; $stu['age'] = 24; $stu['sex'] = true; $stu['grade'] = 80.1; var_dump($stu);
-
数组中可以存放任意类型的数据
$stu[] = "asd"; $stu[] = 24; $stu[] = true; $stu[] = 80.1; var_dump($stu);
分类
索引数组
- 键名 → 整型的正数
关联数组
- 键名 → 具有语义的字符串
遍历
索引数组
for($i = 0; $i < count($list); $i++)
foreach($list as $key => $value)
关联数组
foreach($list as $key => $value)
多维数组
$student = array(
1901 => array(
'name' => "asd",
'age' => 24,
'graed' => 78.9),
1902 => array(
'name' => "qwe",
'age' => 22,
'grade' => 80.1),
);
<?php
echo "<table border = '2'>";
echo "<tr>
<td>学号</td><td>姓名</td><td>性别</td><td>分数</td>
</tr>";
$stu[] = array(
array(1, 'AJEST', '男', 99.9),
array(2, 'AJESTLL', '男', 59.9),
array(3, 'HMM', '女', 89.9)
);
foreach($stu as $value){
foreach($value as $value1){
echo "<tr>
<td>{$value1[0]}</td><td>{$value1[1]}</td><td>{$value1[2]}</td><td>{$value1[3]}</td>
</tr>";
}
}
echo "</table>";
?>
预定义超全局数组变量
名称 | 作用 |
---|---|
$GLOBALS | 引用全局作用域中可用的全局变量 |
$_SERVER | 一个包含了头信息(header)、路径(path)、以及脚本位置(script locations)等信息的数组 |
$_GET | 通过url参数传递给当前脚本的变量数组 |
$_POST | 当HTTP POST请求的Content-Type是application/x-www-form-urlencoded或multiparty/form-data时,会将变量以关联数组形式传入当前脚本 |
$_FILES | 通过HTTP POST方式上传到当前脚本的项目的数组 |
$_COOKIE | 通过HTTP Cookies方式传递给当前脚本的变量的数组 |
$_SESSION | 当前脚本可用SESSION变量的数组 |
$_REQUEST | 默认情况下包含了 G E T , _GET, GET,_POST和$_COOKIE的数组 |
$_ENV | 通过环境方式传递给当前脚本的变量的数组 |
$_GET
var_dump($_GET);
localhost:8081/Untitled-1.php?name=asd&sex=true&grade=80.1
$_POST
var_dump($_GET);
通过提交表单上传信息
$_FILES
捕获POST上传的信息
<html>
<meta charset="UTF-8">
<form
action=""
method="POST"
enctype="multipart/form-data"
>
<input type="file" name="userUpFile">
<input type="submit" name="userSubmit" value="上传">
</form>
</html>
<?php
echo "<pre>";
if(isset($_POST['userSubmit'])){
var_dump($_FILES);
}
echo "</pre>";
?>