PHP第六课 使用方法数组
學習要點:
*使用主陣列功能的理解
*知道如何遍歷
*了解超全局數組和使用的基本關系
數組
1.數組定義和遍歷2.數組函數
數組定義:
$arr=array(1,2,3);//索引數組,下標全是數字
$arr=array("name"=>"user1","age"=>"30");//關聯數組,下標中包括字母
//下標僅僅有兩種,要么是字母,要是是不帶雙引號的數字
<?php$arr=array("name"=>1,3,"age"=>4,5,100=>6,7,400=>8,9);echo "<pre>";print_r ($arr);echo "</pre>";?>
數組下標:
假設是字母
$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 "<br>";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 "<h1>第".($i+1)."個人的名字是{$arr[$i]}</h1>";}?>
循環加推斷:
<?php$arr[]=1;$arr[]=2;$arr[]=3;$arr[]=4;$arr[]=5;$arr[]=6;for($i=0;$i<5;$i++){if($i%2==0){echo "<h1>第".($i+1)."個人的名字是{$arr[$i]}</h1>";}else{echo "<h1 style='color:blue'>第".($i+1)."個人的名字是{$arr[$i]}</h1>";}}?>
2.foreach循環
foreach 進行數組遍歷:
<?
php //鍵值對 name="user1" 就是數組下標和值,key和value $arr['name']="junzai"; $arr['age']=20; $arr['sex']="man"; $arr[]="abc"; echo "<pre>"; print_r ($arr); echo "</pre>"; foreach($arr as $key=>$val){ $num++; if($num%2==1){ echo "<h1>{$key}:{$val}</h1>"; }else{ echo "<h1 style='color:red'>{$key}:{$val}</h1>"; } } ?>
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];
二維數組遍歷:
<?phpheader("content-type:text/html;charset=utf-8");$arr=array("a","b",array("c","d"),array("e"));echo "<pre>";print_r($arr); echo "</pre>";echo "<hr>";foreach($arr as $val){if(is_array($val)){foreach($val as $val2){echo $val2."<br>";}} else{echo $val."<br>";}}?>
三維數組取值:
<?phpheader("content-type:text/html;charset=utf-8");$arr=array("a","b",array("c","d"),array("e",array("f","z")));echo "<pre>";print_r($arr); echo "</pre>";echo "<hr>";foreach($arr as $val){if(is_array($val)){foreach($val as $val2){if(is_array($val2)){foreach($val2 as $val3){echo $val3."<br>";}}else {echo $val2."<br>";}}} else{echo $val."<br>";}}?>
//推薦使用一維數組和二維數組
一張數據表事實上就是一個二維數組,里面的每一行記錄就是一個一維數組
查詢數據庫:
<?
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 "<pre>"; print_r($row1); echo "</pre>"; ?>
超全局數組:
超全局數組
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILES
$_COOKIES
$_SESSION
$GLOBALS
$_SERVER 查看server信息
<?phpheader("content-type:text/html;charset=utf-8");echo "<pre>";print_r($_SERVER);echo "</pre>";?
>
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域名
? ?[SERVER_ADDR] => 127.0.0.1//serverip
? ?[SERVER_PORT] => 80//port號
? ?[REMOTE_ADDR] => 127.0.0.1 ?//client訪問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
name=junjun2&age=26" target="'_blank">junjun2</a><br> <a href="rev.php?name=junjun3&age=23" target="'_blank">junzai3</a><br> <a href="rev.php?
name=junjun4&age=25" target="'_blank">junjun4</a><br> <a href="rev.php?name=junjun5&age=27" target="'_blank">junjun5</a><br> </body> </html>
rev.php
<html><head> <title>接收信息</title></head><body><h1>歡迎:<?php echo $_GET['name'];?
> </h1> <hr> <h1>姓名:<?php echo $_GET['name']?></h1> <h1>年齡:<?php echo $_GET['age']?
></h1> </body> </html>
post實例
$_POST:獲取表單post過來的數據
index.php
<html><head> <title>接收信息</title></head><body><h1>提交用戶信息</h1><form action = "rev.php" method="POST">姓名:<input type="text" name="name" id=""><br>年齡:<input type="text" name="age" id=""><br><input type="submit" value="提交" target="_blank" ></form></body></html>
rev.php
<html><head> <header content-type="text/html";charset="gbk"><title>接收信息</title></head><body><h1>歡迎:<?php echo $_POST['name'];?
> </h1> <hr> <h1>姓名:<?
php echo $_POST['name']?></h1> <h1>年齡:<?
php echo $_POST['age']?
></h1> </body> </html>
$_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 "<pre>";print_r($GLOBALS);echo "</pre>";?>
轉載請注明出處: http://blog.csdn.net/junzaivip
版權聲明:本文博客原創文章。博客,未經同意,不得轉載。
轉載于:https://www.cnblogs.com/zfyouxi/p/4643773.html
總結
以上是生活随笔為你收集整理的PHP第六课 使用方法数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NYOJ6——喷水装置(一)
- 下一篇: 编程命名中的7+1个提示