数组的分类
- 索引数组:索引数组的索引值是整数。在大多数编程语言中,数组都具有数字索引,以0开始,依此递增。当通过位置来标识数组元素时,可以使用索引数组
- 关联数组:关联数组以字符串作为索引值。在其他编程语言中非常少见,但在PHP中使用以字符串作为下标的关联数组非常方便。当通过名称来标识数组元素时,可以使用关联数组
数组的声明
直接为数组元素赋值即可声明数组。
<?php
$array_1[0]="s"; #为数组添加元素
$array_1[1]="i";
$array_2[0]="q";
$array_2[1]="u";
$array_2["3"]="ok";
$ayyay_3[]="yes"; #为空使用默认下标1
print_r($array_1); #打印整个数组
echo "<br/>";
print_r($array_2);
echo "<br/>";
print_r($ayyay_3);
#结果:
// Array ( [0] => s [1] => i )
// Array ( [0] => q [1] => u [3] => ok )
// Array ( [0] => yes )
?>
使用array()函数声明数组
- 使用“=>”来指定下标
- 如果不使用“=>”指定下标,则使用默认索引数组,索引从0开始
<?php
#创建数组
$a=array("foo"=>"ni",12=>"hao");
print_r($a); #打印整个数组
echo "<br/>";
echo $a["foo"]; #利用数组下标进行访问
echo " ";
echo $a[12];
?>
- 定义多维数组
<?php
$array=array(
"第一组"=>array(1,2,3),
"第二组"=>array(4,5,6)
);
echo $array["第一组"][0];
echo "<br/>";
echo $array["第二组"][1];
#结果:
// 1
// 5
数组的遍历
for循环遍历
<?php
$array=array(1,2,3,4,5);
for ($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
//1 2 3 4 5
?>
foreach语句遍历
<?php
#第一种语法格式
$array=array(1,2,3,4,5);
foreach($array as $value){
echo $value." ";
}
//1 2 3 4 5
?>
<?php
#第二种语法格式
$array=array("name"=>"zhangsan","age"=>32);
foreach ($array as $key => $value) {
echo $key.":".$value."<br/>";
}
// name:zhangsan
// age:32
?>
预定义数组
- 预定义数组只是一种数组而已
- 预定义数组不需要去声明,由系统提供
- 这是一种全局数据,在函数中也可以访问,并且不需要使用global关键字来载入
- $_SERVER:是一个包含诸如头信息、路径和脚本位置的数组。数组的实体由Web服务器创建,并不能保证所有的服务器都能产生所有的信息,服务器可能忽略了一些信息,或者产生了一些其他的新的信息。
- $_ENV:$ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为PHP全局变量的。它们中的许多都是由PHP所运行的系统决定的,完整的列表是不可能的,需要査看PHP所在服务器的系统文档以确定其特定的环境变量。
- $_GET:是通过 URL GET方法传递的变量组成的数组。它属于外部变量,即在服务器页面中通过$GET超全局数组获取URL或表单的GET方式传递过来的参数
<?php
#url:http://127.0.0.1/index.php?user=siqu
$array=array("name"=>"zhangsan","age"=>32);
foreach ($array as $key => $value) {
echo $key.":".$value."<br/>";
}
echo $_GET["user"]; #获取url参数中的user变量的值
// name:zhangsan
// age:32
// siqu
?>
- $_POST:数组是通过HTTP POST方法传递的变量组成的数组。$_POST和$_GET 数组之一都可以保存表单提交的变量,使用哪一个数组取决于提交表单时,在表单 form标记中的 method属性使用的方法是POST还是GET。但使用$_POST 数组只能访问以POST方法提交的表单数据。
<!DOCTYPE html>
<html>
<head>
<title>打印表格</title>
</head>
<body>
<form action="add.php" method="POST">
姓名:<input type="input" name="name"><br/>
<input type="submit" name="添加">
</form>
</body>
</html
#add.php文件
<?php
if($_POST["name"]){
echo "你的名字是:".$_POST["name"];
}else{
echo "我没有收到";
}
?>
- $_REQUEST: 此关联数组包含$_GET,$_POST 和$_COOKIE中的全部内容。如果表单中有一个输入域的名称为name="address",表单是通过POST方法提交的,则address 文本输入框中的数据保存在$_POST["address"]中。如果表单是通过GET方法提交的,数据将保存在$_GET["address"]中。不管是 POST还是 GET方法提交的所有数据都可以通过$_REQUEST[ "address"]获得。但$_REQUEST的速度比较慢,不推荐使用。
其他数组将在后面内容中进行大量篇幅描述
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容