PHP第六課 數組的用法

學習概要:

*瞭解基本的數組函數的使用

*懂得數組的遍歷

*瞭解超全局數組的基本關系與使用

數組

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循環

<?php
	
	
				$arr[]=1;
				$arr[]=2;
				$arr[]=3;
				$arr[]=4;
				$arr[]=5;
				$arr[]=6;
				
				
			 	for($i=0;$i<5;$i++){
			 		
			 		echo "

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

"; } ?>

循環加判斷:

	<?php
	
	
			$arr[]=1;
			$arr[]=2;
			$arr[]=3;
			$arr[]=4;
			$arr[]=5;
			$arr[]=6;
			
			
		 	for($i=0;$i<5;$i++){
		 		
		 		if($i%2==0){
		 				echo "

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

"; }else{ echo "

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

"; } } ?>

2.foreach循環
foreach 進行數組遍歷:

<?php
	
			//鍵值對 name="user1" 就是數組下標和值,key和value
			
			$arr['name']="junzai";
			$arr['age']=20;
			$arr['sex']="man";
			$arr[]="abc";


			echo "
";	
			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];

二維數組遍歷:

<?php
	
			    header("content-type:text/html;charset=utf-8");
			    
			    $arr=array("a","b",array("c","d"),array("e"));
			    
			    echo "
";
				
				print_r($arr);	
				
				echo "

";

echo "


";

foreach($arr as $val){

if(is_array($val)){
foreach($val as $val2){
echo $val2."
";
}
} else{
echo $val."
";
}
}

?>

三維數組取值:

<?php
	
			    header("content-type:text/html;charset=utf-8");
			    
			    $arr=array("a","b",array("c","d"),array("e",array("f","z")));
			    
			    echo "
";
				
				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."
";
}

}
?>

//推薦使用一維數組和二維數組
一張數據表其實就是一個二維數組,裡面的每一行記錄就是一個一維數組

查詢伺服器:

<?php
	
			    header("content-type:text/html;charset=utf-8");
			    mysql_connect("localhost","root","1234");
			    mysql_select_db("test");
			    mysql_query("set names utf8");
			    $sql = "select * from user";
			    
			    $result = mysql_query($sql);
			    $row1 = mysql_fetch_assoc($result);
			    
			    echo "
";
			    print_r($row1);
			    echo "

";

?>

超全局數組:
超全局數組
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILES
$_COOKIES
$_SESSION
$GLOBALS

$_SERVER 查看伺服器信息

<?php
	
				    header("content-type:text/html;charset=utf-8");
				    
				    echo "
";
				    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方式
2.a標簽傳值
隻能用get方式

a標簽推薦使用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改變全局變量的值.

<?php
					$username111="user1";
					
					function show(){
					$GLOBALS[username111]="USER2";
					}
					
					show();
					
					echo $username111;
					
					echo "
";
					print_r($GLOBALS);
					echo "

";

?>

轉載請註明出處: http://blog.csdn.net/junzaivip

發佈留言