欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP第六课 数组的用法

程序员文章站 2022-04-11 21:27:19
...

学习概要: *了解基本的数组函数的使用 *懂得数组的遍历 *了解超全局数组的基本关系与使用 数组 1.数组定义和遍历 2.数组函数 数组定义: $arr=array(1,2,3);//索引数组,下标全是数字 $arr=array(name=user1,age=30);//关联数组,下标中包含字母 //下标只有两种

学习概要:

*了解基本的数组函数的使用

*懂得数组的遍历

*了解超全局数组的基本关系与使用


数组

1.数组定义和遍历
2.数组函数

数组定义:
$arr=array(1,2,3);//索引数组,下标全是数字
$arr=array("name"=>"user1","age"=>"30");//关联数组,下标中包含字母
//下标只有两种,要么是字母,要是是不带双引号的数字
1,3,"age"=>4,5,100=>6,7,400=>8,9);
			echo "
";
			print_r ($arr);
			echo "
"; ?>



数组下标:
如果是字母
$arr=array("name"=>1,3,"age"=>4,5,100=>6,7,400=>8,9);
//下标打印:"name" 0
[name] => 1
[0] => 3
[age] => 4
[1] => 5
[100] => 6
[101] => 7
[400] => 8
[401] => 9


数组取值:
1.输出整个数组
print_r($arr)



2.输出数组中的某个值
$arr=array("name"=>1,3,"age"=>4,5,"100"=>6,7,"400"=>8,9);
			
				echo $arr['age'];
				echo "
"; echo $arr[100];



3.数组赋值:
1.$arr['age']=30;
数组赋值也可以定义数组:
$arr[]=1;
$arr[]=2;

4.数组遍历:
1.for循环
第".($i+1)."个人的名字是{$arr[$i]}";
			 	
			 	}
				?>



循环加判断:
	第".($i+1)."个人的名字是{$arr[$i]}";
		 		}else{
		 			echo "

第".($i+1)."个人的名字是{$arr[$i]}

"; } } ?>


2.foreach循环
foreach 进行数组遍历:
";	
			print_r ($arr);
			echo "
"; foreach($arr as $key=>$val){ $num++; if($num%2==1){ echo "

{$key}:{$val}

"; }else{ echo "

{$key}:{$val}

"; } } ?>


3.while....list ..each 循环遍历
while(list($key,$val)=each($arr)){
echo $key.$val;
}

//推荐使用foreach遍历数组

多维数组:
1.一维数组 $arr=array(1,2,3);
$arr[0];
2.二维数组 $arr=array(1,2,array(4,5));
$arr[2][0];
2.二维数组 $arr=array(1,2,array(3,array(4,5)));
$arr[2][1][0];


二维数组遍历:
";
				
				print_r($arr);	
				
				echo "
"; echo "
"; foreach($arr as $val){ if(is_array($val)){ foreach($val as $val2){ echo $val2."
"; } } else{ echo $val."
"; } } ?>



三维数组取值:
";
				
				print_r($arr);	
				
				echo "
"; echo "
"; foreach($arr as $val){ if(is_array($val)){ foreach($val as $val2){ if(is_array($val2)){ foreach($val2 as $val3){ echo $val3."
"; } }else { echo $val2."
"; } } } else{ echo $val."
"; } } ?>


//推荐使用一维数组和二维数组
一张数据表其实就是一个二维数组,里面的每一行记录就是一个一维数组

查询数据库:
";
			    print_r($row1);
			    echo "
"; ?>




超全局数组:
超全局数组
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILES
$_COOKIES
$_SESSION
$GLOBALS

$_SERVER 查看服务器信息
";
				    print_r($_SERVER);
				    echo "
"; ?>


Apache/2.2.8 (Win32) PHP/5.2.6 Server at localhost Port 80




[SERVER_SOFTWARE] => Apache/2.2.8 (Win32) PHP/5.2.6
[SERVER_NAME] => localhost//服务器域名
[SERVER_ADDR] => 127.0.0.1//服务器ip
[SERVER_PORT] => 80//端口号
[REMOTE_ADDR] => 127.0.0.1 //客户端访问ip
[DOCUMENT_ROOT] => E:/AppServ/www
[SERVER_ADMIN] => goxuexi@126.com
[SCRIPT_FILENAME] => E:/AppServ/www/index.php //脚本文件名字的绝对路径
[REMOTE_PORT] => 49881
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => //请求字符串
[REQUEST_URI] => ///请求url地址
[SCRIPT_NAME] => /index.php//脚本名称(相对网站根目录)
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1407568551//访问时间
[argv] => Array
(
)


[argc] => 0
)

$_GET 获取用get提交过来的数据

http://localhost/index.php?id=10&name=user1

两个页面之间通讯:
1.表单传值
第一种:get方式
第二种:post方式

只能用get方式


表单推荐使用post方式提交数据


magic_quotes_gpc = on;表示开启了get请求的时候,会讲get数据中的'前面加\


get实例:
index.php

				
				接收信息
				junjun2
junzai3
junjun4
junjun5



rev.php
					
					接收信息
					

欢迎:


姓名:

年龄:




post实例
$_POST:获取表单post过来的数据

index.php
				
				接收信息
				

提交用户信息

姓名:
年龄:



rev.php
					
接收信息

欢迎:


姓名:

年龄:




$_REQUEST
获取a或者表单get或post过来的数据.

$_COOKIES
同一个页面在多个页面获取

$_SESSION
同一个变量在多个页面获取到
$_FILES
获取表单中的文件,并生成一个数组.

$GLOBALS
$GLOBALS[_SERVER]
$GLOBALS[_GET]
$GLOBALS[_POST]
$GLOBALS[_FILES]
$GLOBALS[_REQUEST]
$GLOBALS[_COOKIES]
$GLOBALS[username]//里面包含页面内的全局变量,并且通过$GLOBALS[username]="user2"改变$username的值.

实例:使用$GLOBALS改变全局变量的值.


";
					print_r($GLOBALS);
					echo "
"; ?>