php 数组元素分类,数组分类、定义及遍历
$codes?=?'html>
數組遍歷h1{margin:?0px;color:?red;background:?#ccc;}
h3{margin:?0px;color:?red;background:?#ccc;}
h5{margin:?0px;color:?red;background:?#ccc;}
body{font-size:?24px;color:?#ccc;}
數組遍歷
';
echo?($codes);
/**
*?課程內容
*?1.數組分類
*?2.數組定義
*?3.數組遍歷
*/
/**
*?一、數組分類
*?1.數組是由一組有序的值或鍵值對組成的數據結構
*?2.數組根據鍵名類型分為:索引數組?與?關聯數組?二大類
*?3.索引數組:鍵名是元素的位置索引,默認從0開始,采用系統自動處理可以省略鍵名
*?4.關聯數組:鍵名是自定義的字符串,類似于對象中的屬性列表
*/
//索引數組:?采用字面量直接定義
//降龍十八掌,前六招,能接住這前六招,當今武林,恐怕不會超過五人,目前已經夠用了
$arts?=?['亢龍有悔',?'飛龍在天',?'見龍在田',?'鴻漸于陸',?'潛龍勿用',?'突如其來'];
//關聯數組:?采用字面量直接定義
$swordsman?=?['name'=>'郭靖',?'position'=>'金刀駙馬',?'skill'=>'降龍十八掌'];
foreach?($swordsman?as?$key?=>?$value)?{
#?code...
echo?$key."=》".$value."
";
}
echo?"
";
/**
*?二、數組定義
*?1.?整體定義:?$arr?=?[...]
*?2.?逐個定義:?$arr[]?=?...
*?3.?數組元素可以是字面量,也可以變量,甚至還可以是數組,從而創建多維數組
*/
//整體定義,參照上面的案例
//逐個定義:以添加的方式的來創建數組
$postion?=?'金刀駙馬';
$swordsman?=?[];?//可選,推薦寫上
$swordsman['name']?=?'郭靖';?????//用追加的方式,用字面量初始化元素
$swordsman['course']?=?$postion;???//用變量初始化元素
$swordsman['skill']?=?'降龍十八掌';
/**
*?三、數組遍歷
*?1.?for()循環:適合遍歷索引數組
*?2.?while()循環
*?3.?foreach()循環:?數組專用,強烈推薦
*?4.?list(),each(),while()配合完成的遍歷,因為each()已不再推薦,所以不再學習
*?4.?內部指針
*/
//1.for
$res1?=?'降龍十八掌招式:';
for?($i=0;?$i
$res1?.=?$arts[$i].',';//??.=??連接字符串
echo?$res1,"
";
}
echo?rtrim($res1,?','),?'
';//rtrim()字符串函數:去掉最右邊指定字符
//2.while
$res2?=?'';
$i?=?0;
while?($i?
$res2?.=?$arts[$i].'-';
echo?$res2,"
";
$i++;
}
echo?rtrim($res2,?'-'),?'
';
//3.foreach()
foreach?($swordsman?as?$key=>$value)
{
echo?$key,'=>',$value,'
';
}
echo?"
測試each
";
/**
*?4.list(),each(),while()遍歷
*?list($var1,$var2,...)?=?[value1,?value2,....]:將索引數組中的值,依次賦給list()中的變量
*?each($arr):將數組中的每個元素,拆分鍵和值二部分,并分別以索引和關聯二種方式返回
*/
//測試each()
$arr?=?[100,'name'=>'peter'];
$temp?=?each($arr);
print_r($temp);
$temp?=?each($arr);
print_r($temp);
//
echo?"
list()和each()完成遍歷數組,上面遍歷過,指針需要復位,使用reset()函數
";
reset($swordsman);
while(list($key,?$value)?=?each($swordsman)){
echo?$key,'=>',$value,'
';
}
echo?"
";
/**
*?5.內部指針
*?(1)current():當前指針指向元素的值
*?(2)key():?當前指針指向元素的鍵名/索引
*?(3)next():?指針后移
*?(4)prev():?指針前移
*?(5)end():?指針移到尾部最后一個元素上
*?(6)reset():?指針復位,指向第一個元素
*/
//指針復位
reset($arts);
//獲取第一個元素的鍵值
echo?key($arts),'---',current($arts),'
';
//后移一位,獲取第二個元素的鍵值
next($arts);
echo?key($arts),'---',current($arts),'
';
//前移一位
prev($arts);
echo?key($arts),'---',current($arts),'
';
//移到最后,獲取最后一個元素的鍵值
end($arts);
echo?key($arts),'---',current($arts),'
';
//下面我們用for()循環與數組指針配合來完成關聯數數組的遍歷
echo?'
';
//記得先復位數組指針,從頭開始遍歷
reset($arts);
for?($i=0;?$i
//輸出當前元素的鍵值
echo?key($arts),'---',current($arts),'
';
//指針后移一位
next($arts);
}
//使用while循環配置指針進行遍歷
echo?'
使用入口判斷型,會導致第一招丟失
';
reset($arts);
//使用入口判斷型,會導致第一招丟失
while?(next($arts))?{
echo?key($arts),'---',current($arts),'
';
}
echo?'
使用入口判斷型另一種方法
';
reset($arts);
//使用入口判斷型另一種方法
while?(current($arts))?{
echo?key($arts),'<===>',current($arts),'
';
next($arts);
}
//應該使用出口判斷結構:?do?~?while()
echo?'
使用出口判斷結構:?do?~?while()
';
reset($arts);
do?{
echo?key($arts),'---',current($arts),'
';
}?while?(next($arts));
總結
以上是生活随笔為你收集整理的php 数组元素分类,数组分类、定义及遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 酷狗音乐内容推荐消息怎么设置
 - 下一篇: 郭明錤:iPhone 15 系列手机改用