一、数组的分类
1.索引数组
<?php
$arr=array();
$arr[10]='q';
$arr[20]='w';
$arr[30]='e';
$arr = array(10=>'q',20=>'w',30=>'e');
?>
2.关联数组
<?php
$arr=array();
$arr['name']='user1';
$arr['age']='20';
$arr=array('name'=>'user1','age'=>'20');
?>
数组定义时key自动累加——
<?php
$arr=array();
$arr[0]='q';
$arr[]='w'; //中括号中默认为1
$arr[10]='e';
$arr[2]='r';
$arr[]='t'; //中括号中默认为11
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
3.混合数组
<?php
$arr=array('user1','age'=>'20');
$arr[]='user1';
$arr['age']=20;
?>
4.多维数组
用的最多的是二维数组,最好不要把数组定义为三维数组以上
<?php
$arr['name']='username';
$arr['age']='20';
$arr['sex']=array(1,2,3);
echo "<pre>";
print_r($arr);
echo "</pre>";
echo $arr['sex']['2'];
?>
二、数组的元素,键值对
键--下标(key);值--元素(value)
三、数组的应用
1.打印数组
1)print_r($arr);
2) var_dump($arr);
为了方便打印出来更清晰,一般会在外面加pre标签:
echo '<pre>';
print_r($arr);
echo '</pre>';
2.数组遍历
1)list()的作用,用于在一次操作中给一组变量赋值
<?php
$arr=array(100,200);
list($a,$b)=$arr;
echo "<br>";
echo $a; //100
echo "<br>";
echo $b; //200
?>
<?php
$arr=array(
'name'=>'zyd',
'age'=>'19',
'sex'=>'female'
);
while(list($k,$v)=each($arr)){
echo "<h2>{$k}:{$v}</h2>";
}
?>
上面的遍历也可以写成:
<?php
$arr=array(
'name'=>'zyd',
'age'=>'19',
'sex'=>'female'
);
foreach ($arr as $key => $value) {
echo "<h2>{$key}:{$value}</h2>";
}
?>
3.超全局数组
1)$_SERVER数组 查看服务器信息
['SERVER_NAME'] 服务器域名
['REMOTE_ADDR'] 客户端ip
['SERVER_ADDR'] 服务器ip
['SERVER_PORT'] 服务器端口
['DOCUMENT_ROOT'] 网站根目录
['SCRIPT_FLIENAME'] 当前脚本的系统绝对路径
['REQUEST_URI'] 当前脚本的网站绝对路径
['PHP_SELF'] 当前脚本的网站绝对路径
2)$_GET数组 用来接收地址栏中的参数
GET实现表单提交,注意地址栏参数变化——
<html>
<head>
<meta charset="UTF-8" />
<title>index</title>
</head>
<body>
<form action="del.php">
<p>username:</p>
<p><input type="text" name="username" /></p>
<p>password:</p>
<p><input type="text" name="password" /></p>
<p>
<input type="submit" value="OK" />
<input type="reset" value="Cancel" />
</p>
</form>
</body>
</html>
3)$_POST数组 表单提交的值
提交的值不会以参数的形式展现在url栏上,需要通过$_POST接收
4)$_REQUEST数组 $GET和$POST全接受
5)$_FILES 文件上传
6)$_COOKIE 跟踪用户状态
7)$_SESSION 跟踪用户状态
8)$GLOBALS 获取所有全局变量和超全局变量
<?php
echo "<pre>";
print_r($GLOBALS);
echo "</pre>";
?>