版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安防基礎(chǔ)知識(shí)培訓(xùn)(三星)
- 2024年貼牌生產(chǎn)與質(zhì)量協(xié)議3篇
- 外貿(mào)企業(yè)行政員工錄用協(xié)議
- 保險(xiǎn)公司平整施工合同
- 社區(qū)電動(dòng)車安全使用公約承諾書
- 電力搶修司機(jī)招聘協(xié)議書
- 電子產(chǎn)品招投標(biāo)操作流程
- 硝酸領(lǐng)用與研發(fā)創(chuàng)新
- 影視制作質(zhì)量管理典范
- 2024年裝潢資助協(xié)議書3篇
- 華東師大版科學(xué)七年級(jí)上冊(cè)期末測(cè)試卷2
- 危機(jī)管理與應(yīng)急響應(yīng)
- 《安全生產(chǎn)法》宣傳周活動(dòng)宣貫課件
- 2024年度廢鋼再生資源買賣合同樣本3篇
- 2024年綜合實(shí)踐活動(dòng)課程實(shí)施計(jì)劃(4篇)
- 2024-2025學(xué)年北師版八年級(jí)物理上冊(cè)期末考試綜合測(cè)試卷
- 陸軍第七十五集團(tuán)軍醫(yī)院招聘筆試真題2023
- 【MOOC】國(guó)際商務(wù)-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 人教版八年級(jí)英語上冊(cè)期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- GB/T 44592-2024紅樹林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- 2024新版有限空間作業(yè)安全大培訓(xùn)
評(píng)論
0/150
提交評(píng)論