PHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì) 課件 項(xiàng)目4 PHP數(shù)組操作_第1頁
PHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì) 課件 項(xiàng)目4 PHP數(shù)組操作_第2頁
PHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì) 課件 項(xiàng)目4 PHP數(shù)組操作_第3頁
PHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì) 課件 項(xiàng)目4 PHP數(shù)組操作_第4頁
PHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì) 課件 項(xiàng)目4 PHP數(shù)組操作_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目4

PHP數(shù)組操作任務(wù)1數(shù)組基礎(chǔ)任務(wù)2遍歷數(shù)組任務(wù)3操作數(shù)組SpeakernameandtitlePHP+MySQL動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)數(shù)組基礎(chǔ)2任務(wù)1任務(wù)1數(shù)組基礎(chǔ)任務(wù)分析了解并掌握一維數(shù)組的概念與定義方法,掌握數(shù)組與字符串之間的轉(zhuǎn)換方法,如何向數(shù)組中添加元素,以及查詢數(shù)組中指定元素。01知識(shí)準(zhǔn)備1.什么是數(shù)組數(shù)組的定義是抽象的。為了方便理解,舉個(gè)足球隊(duì)的例子,首先,可以把這些球員看作足球隊(duì)的隊(duì)員,然后再利用球員的號(hào)碼來區(qū)分每個(gè)隊(duì)員,這時(shí)這支球隊(duì)就可看作一個(gè)數(shù)組,而號(hào)碼就是這個(gè)數(shù)組的下標(biāo),也可以稱為鍵。當(dāng)指明是某隊(duì)幾號(hào)隊(duì)員時(shí)就能找到這名球員。02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備2.聲明數(shù)組在PHP語言中聲明數(shù)組的方式主要有兩種。(1)array()函數(shù)使用array()函數(shù)定義數(shù)組較為靈活,可以在函數(shù)體中給出數(shù)組中的數(shù)據(jù),而不必給出數(shù)組的下標(biāo),代碼如下。

<?php $arr=array(“張三”,“李四”,“王五”) //定義數(shù)組 var_dump($arr); //輸出數(shù)組元素?>

運(yùn)行結(jié)果如下。

Array([0]=>張三[1]=>李四[2]=王五)注意,這里的$arr為數(shù)組名,=array()為固定寫法,結(jié)果中的0、1、2為數(shù)組的下標(biāo)。02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備2.聲明數(shù)組在PHP語言中聲明數(shù)組的方式主要有兩種。

需要使用數(shù)組中的數(shù)據(jù)時(shí),可以使用如下方式進(jìn)行調(diào)用。

<?php print$arr[1];//輸出數(shù)組元素的第二個(gè)下標(biāo)值?>

運(yùn)行結(jié)果如下。

張三注意,使用這種方式定義數(shù)組時(shí),數(shù)組的下標(biāo)默認(rèn)從0開始,而不是從1開始,之后下標(biāo)依次增加1,所以數(shù)組的下標(biāo)為2的元素是指數(shù)組的第3個(gè)元素。02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備2.聲明數(shù)組在PHP語言中聲明數(shù)組的方式主要有兩種。(2)為數(shù)組元素賦值的方式當(dāng)不需要確定所需數(shù)組的大小,以及需要?jiǎng)討B(tài)添加數(shù)組時(shí),可以采用這種方式?!緦?shí)例1】為了加深對(duì)這種數(shù)組聲明方式的理解,下面通過具體實(shí)例對(duì)該種數(shù)組聲明方式進(jìn)行講解,代碼如下。

<?php $xuexiao[1]=“上” $xuexiao[2]=“學(xué)” $xuexiao[3]=“了” var_dump($xuexiao);//輸出數(shù)組元素?>

運(yùn)行結(jié)果如下。

Array([1])=>上[2]=>學(xué)[3]=>了)

注意,當(dāng)使用直接為數(shù)組元素賦值的方式聲明數(shù)組時(shí),要求同一數(shù)組中的元素的數(shù)組名應(yīng)相同。02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備3.?dāng)?shù)組的類型PHP語言支持兩種數(shù)組:數(shù)字索引數(shù)組(下標(biāo)為數(shù)字)和聯(lián)合數(shù)組(下標(biāo)為字符串)。(1)數(shù)字索引數(shù)組數(shù)字索引一般表示數(shù)組元素在數(shù)組中的位置,它由數(shù)字組成,下標(biāo)從0開始,然后從0開始遞增,增量值為1。當(dāng)然,也可以指定從某個(gè)位置開始保存數(shù)組。數(shù)組可以構(gòu)造成一系列“鍵-值”(key-value)對(duì)。其中,每一對(duì)都是數(shù)組的一個(gè)項(xiàng)目或元素(element)。對(duì)于列表中的每個(gè)項(xiàng)目,都有一個(gè)與之關(guān)聯(lián)的鍵(key)或索引(index)。數(shù)字索引數(shù)組如表所示。02鍵值0張三1李四2王五3趙六4孫七任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備3.?dāng)?shù)組的類型PHP語言支持兩種數(shù)組:數(shù)字索引數(shù)組(下標(biāo)為數(shù)字)和聯(lián)合數(shù)組(下標(biāo)為字符串)。(2)聯(lián)合數(shù)組聯(lián)合數(shù)組的下標(biāo)可以采用字符串的形式。只要數(shù)組中有一個(gè)下標(biāo)不是數(shù)字,那么這個(gè)數(shù)組就可被認(rèn)定為聯(lián)合數(shù)組。聯(lián)合數(shù)組使用字符串下標(biāo)來訪問存儲(chǔ)在數(shù)組中的值,如表所示。02鍵值ZS張三LS李四WW王五ZL趙六SQ孫七任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備3.?dāng)?shù)組的類型【實(shí)例2】本實(shí)例將創(chuàng)建一個(gè)聯(lián)合數(shù)組,代碼如下。

<?php $arr=array(“first”=>1,“second”=>2,“third”=>3); print$arr[“second”]; print$arr[“third”];?>

運(yùn)行結(jié)果如下。

23

(3)技巧聯(lián)合數(shù)組的下標(biāo)可以是任意整數(shù)或字符串。如果下標(biāo)是一個(gè)字符串,則不要忘了給這個(gè)下標(biāo)加上定界修飾符—單引號(hào)(’)或雙引號(hào)(”)。02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備4.?dāng)?shù)組的構(gòu)造(1)一維數(shù)組數(shù)組的元素是變量或者常量且只保存一列內(nèi)容,稱為一維數(shù)組。在上述案例中,采用的均是一維數(shù)組。(2)二維數(shù)組若數(shù)組的元素是一維數(shù)組,則該數(shù)組為二維數(shù)組。【實(shí)例3】本實(shí)例將創(chuàng)建一個(gè)二維數(shù)組,代碼如下。

<?php$football=array(“球隊(duì)”=>array(“阿根廷”,“法國(guó)”,“巴西”),“球星”=>array(“b”=>“梅西”,“c”=>“C羅”),“位置”=>array(“前鋒”,8=>“后衛(wèi)”,“門將”)); //聲明數(shù)組var_dump($football); //輸出數(shù)組元素?>02任務(wù)1數(shù)組基礎(chǔ)知識(shí)準(zhǔn)備4.?dāng)?shù)組的構(gòu)造運(yùn)行結(jié)果如下。

Array([球隊(duì)]=>Array([0]=>阿根廷[1]=>法國(guó)[2]=>巴西)[球星]=>Array([b]=>梅西[c]=>C羅)[位置]=>Array([0]=>前鋒[8]=>后衛(wèi)[9]=>門將))

實(shí)例3的代碼實(shí)現(xiàn)了一個(gè)二維數(shù)組,請(qǐng)讀者仔細(xì)觀察數(shù)組下標(biāo)的定義及其最后的顯示。按照同樣的思路,可以創(chuàng)建更高維度的數(shù)組,如三維數(shù)組、四維數(shù)組。創(chuàng)建數(shù)組的維度越高,對(duì)代碼的理解與推演的能力也就越高。02任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施1.使用多種方式創(chuàng)建數(shù)組第1步:新建init_array.php頁面,代碼如下。

03<?php //創(chuàng)建數(shù)組 $shucai=array('juanxincai'=>'黃色', 'niurou'=>'紅色', 'chengzi'=>'橙色'); var_dump($shucai); print'<br><br>'; //使用簡(jiǎn)短數(shù)組句法 $shucai=array('juanxincai'=>'黃色','niurou'=>'紅色','chengzi'=>'橙色'); $wucan=array(1=>'餛飩',2=>'水餃',3=>'肉夾饃'); $jisuanji=array('cpu'=>'corei5','neicun'=>'ADATA','zhuban'=>'ASUS'); var_dump($wucan); print'<br><br>'; //一個(gè)個(gè)添加元素 $shucai['juanxincai']='黃色'; $shucai['niurou']='紅色'; $shucai['chengzi']='橙色';

$wucan[1]='餛飩'; $wucan[2]='水餃'; $wucan[3]='肉夾饃';

$jisuanji['core']='corei5'; $jisuanji['neicun']='ADATA'; $jisuanji['zhuban']='ASUS'; var_dump($jisuanji);?>任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施1.使用多種方式創(chuàng)建數(shù)組第2步:運(yùn)行init_array.php頁面,運(yùn)行結(jié)果如圖4-1-1所示。

03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施2.創(chuàng)建常規(guī)的數(shù)值為下標(biāo)的數(shù)組第1步:新建init_array_normal.php頁面,代碼如下。

<?php//創(chuàng)建常規(guī)數(shù)值數(shù)組$wucan=array('餛飩','水餃','肉夾饃');

//訪問數(shù)組print"我想要$wucan[0]和$wucan[1]。";?>03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施2.創(chuàng)建常規(guī)的數(shù)值為下標(biāo)的數(shù)組第2步:運(yùn)行init_array_normal.php頁面,運(yùn)行結(jié)果如圖所示。03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施3.評(píng)委打分后,找出第6位評(píng)委的分?jǐn)?shù)第1步:新建six.php頁面,代碼如下。

<?php $scores=array(18,62,68,82,65,9,55,33,87); print'第6位評(píng)委的分?jǐn)?shù)是'.$scores[5];?>03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施3.評(píng)委打分后,找出第6位評(píng)委的分?jǐn)?shù)第2步:運(yùn)行six.php頁面,運(yùn)行結(jié)果如圖所示。03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施4.添加數(shù)組元素第1步:新建add_array.php頁面,代碼如下。

<?php //添加元素 $wancan[]='餛飩'; $wancan[]='水餃';

$wancan=array('餛飩','水餃','肉夾饃'); $wancan[]='米飯';

var_dump($wancan);?>03任務(wù)1數(shù)組基礎(chǔ)任務(wù)實(shí)施4.添加數(shù)組元素第2步:運(yùn)行add_array.php頁面,運(yùn)行結(jié)果如圖4-1-4所示。03遍歷數(shù)組20任務(wù)2任務(wù)2遍歷數(shù)組任務(wù)分析掌握如何輸出數(shù)組、遍歷數(shù)組的方法,熟悉如何統(tǒng)計(jì)數(shù)組中元素的個(gè)數(shù)。01知識(shí)準(zhǔn)備1.輸出數(shù)組對(duì)數(shù)組及其元素進(jìn)行輸出的方法有很多種,常用的有print()函數(shù)、var_dump()函數(shù)等,print()函數(shù)能對(duì)數(shù)組中的某一元素進(jìn)行輸出。var_dump()函數(shù)可將數(shù)組整體結(jié)構(gòu)進(jìn)行輸出,適用于代碼調(diào)試。針對(duì)不同的應(yīng)用場(chǎng)景,可以選擇不同的輸出方式,語法格式如下。

var_dump(參數(shù))

如果該函數(shù)的參數(shù)為字符型、數(shù)值型或?qū)?yīng)的變量,則輸出該變量本身。如果該參數(shù)為數(shù)組,則按下標(biāo)升序依次顯示下標(biāo)和變量元素的對(duì)應(yīng)關(guān)系。02任務(wù)2遍歷數(shù)組知識(shí)準(zhǔn)備1.輸出數(shù)組【實(shí)例1】下面通過一個(gè)簡(jiǎn)單的實(shí)例來講解應(yīng)用var_dump()函數(shù)輸出數(shù)組的方法,代碼如下。

<?php $xuexiao=array(“上”,“學(xué)”,“了”); var_dump($xuexiao);?>

結(jié)果如下。

Array([0]=>上[1]=>學(xué)[2]=>了02任務(wù)2遍歷數(shù)組知識(shí)準(zhǔn)備2.遍歷數(shù)組在生活中,如果想要去商場(chǎng)買一件衣服,就需要逛商場(chǎng),看是否有合適的衣服,逛商場(chǎng)就相當(dāng)于遍歷數(shù)組。遍歷數(shù)組的方法有很多,下面介紹使用foreach循環(huán)語句遍歷數(shù)組。foreach循環(huán)語句和之前學(xué)過的for循環(huán)語句很像,但寫法相對(duì)簡(jiǎn)單,下面通過實(shí)例進(jìn)行講解?!緦?shí)例2】對(duì)于一個(gè)存有大量姓名的數(shù)組變量$names,如果應(yīng)用print語句一個(gè)一個(gè)地輸出,會(huì)相當(dāng)煩瑣,而通過foreach循環(huán)語句遍歷數(shù)組則可輕松地獲取數(shù)據(jù)信息,代碼如下。

<?php $names=array(‘張三’,‘李四’,‘王五’,‘趙六’);//聲明數(shù)組 foreach($namesas$name){ //遍歷數(shù)組 print$name; }?>

結(jié)果如下。

張三李四王五趙六

在上面的代碼中,PHP語言為$names的每個(gè)元素依次執(zhí)行循環(huán)體一次,將$names賦值給當(dāng)前元素的值。各元素按數(shù)組內(nèi)部順序進(jìn)行處理。02任務(wù)2遍歷數(shù)組知識(shí)準(zhǔn)備3.統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)對(duì)于數(shù)組中的元素個(gè)數(shù)進(jìn)行統(tǒng)計(jì)可以使用count()函數(shù),語法格式如下。

intcount(數(shù)組[,模式])

count()函數(shù)的參數(shù)說明如表所示。02參數(shù)說明數(shù)組必要參數(shù)。輸入的數(shù)組模式可選參數(shù)。若為1,本函數(shù)將遞歸地對(duì)數(shù)組計(jì)數(shù)。對(duì)計(jì)算多維數(shù)組的所有單元?jiǎng)?wù)必使用該參數(shù)。默認(rèn)值為0例如,使用count()函數(shù)統(tǒng)計(jì)數(shù)組中元素的個(gè)數(shù),代碼如下。

<?php $names

=

array("張三","李四","王五","趙六"); print

count($names);//統(tǒng)計(jì)數(shù)組中元素的個(gè)數(shù),輸出結(jié)果為4?>任務(wù)2遍歷數(shù)組任務(wù)實(shí)施1.使用foreach循環(huán)語句遍歷數(shù)組第1步:新建foreach.php頁面,代碼如下。

<?php $fenshu=array(18,62,68,82,65,9,55,33,87); foreach($fenshuas$key=>$value){ print"評(píng)委"; printintval($key)+1; print'的分?jǐn)?shù)是'; print$value; print'<br>'; }?>

03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施1.使用foreach循環(huán)語句遍歷數(shù)組第2步:運(yùn)行foreach.php頁面,運(yùn)行結(jié)果如圖所示。

03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施2.使用foreach循環(huán)語句,找出哪位評(píng)委打了65分第1步:新建find.php頁面,代碼如下。

<?php$fenshu=array(18,62,68,82,65,9,55,33,87);foreach($fenshuas$key=>$value){ if($value==65){ print'第'; printintval($key)+1; print'位評(píng)委的分?jǐn)?shù)為65分'; continue; }}?>03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施2.使用foreach循環(huán)語句,找出哪位評(píng)委打了65分第2步:運(yùn)行find.php頁面,運(yùn)行結(jié)果如圖所示。03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施3.使用for循環(huán)語句將數(shù)組元素倒置第1步:新建reverse.php頁面,代碼如下。

<?php //創(chuàng)建一個(gè)長(zhǎng)度是5的數(shù)組,并進(jìn)行填充。 //使用for循環(huán)語句或者while循環(huán)語句,對(duì)這個(gè)數(shù)組實(shí)現(xiàn)反轉(zhuǎn)效果 $wucan=array('餛飩','水餃','米飯','面條','肉夾饃'); $len=count($wucan); for($i=0;$i<$len/2;$i++){ $tmp=$wucan[$i]; $wucan[$i]=$wucan[$len-1-$i]; $wucan[$len-1-$i]=$tmp; } for($i=0;$i<$len;$i++){ print$wucan[$i]; print'<br>'; }?>03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施3.使用for循環(huán)語句將數(shù)組元素倒置第2步:運(yùn)行reverse.php頁面,運(yùn)行結(jié)果如圖所示。03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施4.按照比賽規(guī)則,去掉一個(gè)最高分與最低分,求選手得到的平均分第1步:新建average.php頁面,代碼如下。

<?php //去除一個(gè)最高分與最低分,并算出選手最終的得分 $fenshu=array(18,62,68,82,65,9,55,33,87); $zuidi=$fenshu[0]; $zuidi_num=1; $zuigao=$fenshu[0]; $zuigao_num=1; $zonghe=0; foreach($fenshuas$key=>$value){ if($zuidi>$value){ $zuidi=$value; $zuidi_num=intval($key)+1;} if($zuigao<$value){ $zuigao=$value; $zuigao_num=intval($key)+1;} $zonghe+=$value;} $ave=($zonghe-$zuigao-$zuidi)/(count($fenshu)-2); print'平均分為:'.$ave;?>03任務(wù)2遍歷數(shù)組任務(wù)實(shí)施4.按照比賽規(guī)則,去掉一個(gè)最高分與最低分,求選手得到的平均分第2步:運(yùn)行average.php頁面,運(yùn)行結(jié)果如圖所示。03操作數(shù)組33任務(wù)3任務(wù)3操作數(shù)組任務(wù)分析掌握如何刪除數(shù)組中重復(fù)元素、如何獲取數(shù)組中的最后一個(gè)元素。01知識(shí)準(zhǔn)備1.向數(shù)組中添加元素向數(shù)組中添加元素,語法格式如下。

數(shù)組[下標(biāo)]=值或數(shù)組[]=值

【實(shí)例1】本實(shí)例向數(shù)組中添加元素,代碼如下。

<?php $arr=array(“張三”,”李四”); //定義數(shù)組 $arr[2]=‘王五’; $arr[]=‘趙六’; var_dump($arr); //輸出數(shù)組結(jié)果?>

運(yùn)行結(jié)果如下。

Array([0]=>張三[1]=>李四[2]=>王五[3]=>趙六)02任務(wù)3操作數(shù)組知識(shí)準(zhǔn)備2.修改數(shù)組中的元素修改數(shù)組中的元素,語法格式如下。

數(shù)組[下標(biāo)]=值

【實(shí)例2】本實(shí)例為修改數(shù)組中的元素,代碼如下。

<?php $arr=array(“張三”,”李四”); //定義數(shù)組 $arr[1]=‘王五’; var_dump($arr); //輸出數(shù)組結(jié)果?>

運(yùn)行結(jié)果如下。

Array([0]=>張三[1]=>王五)02任務(wù)3操作數(shù)組任務(wù)實(shí)施1.修改數(shù)組中的元素第1步:新建edit_array.php頁面,代碼如下。

<?php $wucan=array('面條','餛飩','米飯'); print"我想要$wucan[0]和$wucan[1]。"; print"<br>"; $wucan[0]='水餃'; print"我改變主意了,我想要$wucan[0]和$wucan[1]。";?>第2步:運(yùn)行edit_array.php頁面,運(yùn)行結(jié)果如圖所示。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論