PHP數(shù)組實(shí)例詳解
作為一名C++程序員,在轉(zhuǎn)做PHP開(kāi)發(fā)的過(guò)程中,對(duì)PHP數(shù)組產(chǎn)生了一些混淆,與C++數(shù)組有相似的地方,也有一些不同,下面就全面地分析一下PHP的數(shù)組及其與C++中相應(yīng)數(shù)據(jù)類型的區(qū)別和聯(lián)系。
數(shù)組的分類:
1、數(shù)值數(shù)組:也叫索引數(shù)組,即以數(shù)字(從0 開(kāi)始)作為數(shù)組下標(biāo)。相當(dāng)于C++中的vector。
2、關(guān)聯(lián)數(shù)組:以字符串作為數(shù)組下標(biāo)。相當(dāng)于C++中的map。
3、多維數(shù)組:數(shù)組中每個(gè)元素也是一個(gè)數(shù)組。其子數(shù)組中的每個(gè)元素也可以是數(shù)組。
數(shù)組的聲明:
1、數(shù)值數(shù)組
a、如下例子中,會(huì)自動(dòng)分配數(shù)字ID鍵。
$names = array("Peter","Joe","Lily");
b、如下例子中,我們?nèi)斯し峙鋽?shù)字ID鍵。
$names[0] = "Peter";
$names[1] = "Joe";
$names[2] = "Lily";
可以在腳本中使用這些ID鍵:
<?php $names[0] = "Peter"; $names[1] = "Joe"; $names[2] = "Lily"; echo $names[0]." and ".$names[1]." are ".$names[2]."'s neighbors"; /* 何問(wèn)起 hovertree.com */ ?>
2、關(guān)聯(lián)數(shù)組:
例子1
$ages = array("Peter"=>32, "Joe"=>30, "Lily"=>28);
例子2
本例與例子1相同,只是另一種創(chuàng)建數(shù)組的方法。
$ages["Peter"] = "32"; $ages["Joe"] = "30"; $ages["Lily"] = "28";
在腳本中使用關(guān)聯(lián)數(shù)組:
<?php $ages["Peter"] = "32"; $ages["Joe"] = "30"; $ages["Lily"] = "28"; echo "Peter is ".$ages["Peter"]." years old."; /* 何問(wèn)起 hovertree.com */ ?>
以上腳本輸出:
Peter is 32 years old.
3、多維數(shù)組:
在本例中,我們創(chuàng)建了一個(gè)帶有自動(dòng)分配數(shù)字ID鍵的多維數(shù)組:
$families = array
{
"Griffin"=>array
{
"Peter",
"Lois",
"Megan"
},
"Quagmire"=>array
{
"Glenn"
},
"Brown"=>array
{
"Cleveland",
"Loretta",
"Junior"
}
};
echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代碼輸出:
Is Megan a part of the Griffin family?
1、for循環(huán)遍歷
for循環(huán)只能遍歷索引數(shù)組。
<?php
$names = array("Peter","Joe","Lily");
for($id=0;$id<count($names);++$id)
{
echo $names[$id];
}
?>
2、foreach遍歷
即可以遍歷索引數(shù)組,也可以遍歷關(guān)聯(lián)數(shù)組
遍歷索引數(shù)組
foreach(array_expression as $value)
{
循環(huán)體;
}
遍歷關(guān)聯(lián)數(shù)組
foreach(array_expression as $key=>$value)
{
循環(huán)體;
}
A、一維數(shù)組遍歷
索引數(shù)組
<?php
$contact = array("李某","xx公司","abc@xx.com");
foreach($contact as $value)
{
echo $value;
}
?>
<?php
$contact = array("姓名"=>"李某","公司"=>"xx公司","郵箱"=>"abc@xx.com");
foreach($contact as $key=>$value)
{
echo $key.":".$value;
}
?>
B、多維數(shù)組遍歷
<?php
$wage = array(
"市場(chǎng)部"=array(
array(1,"李某","市場(chǎng)經(jīng)理",8000),
array(2,"王某","市場(chǎng)專員",5000),
array(3,"劉某","市場(chǎng)專員",7000)
),
"產(chǎn)品部"=array(
array(1,"李某","產(chǎn)品經(jīng)理",9000),
array(2,"王某","產(chǎn)品專員",6000),
array(3,"劉某","產(chǎn)品專員",5000)
),
"賬務(wù)部"=array(
array(1,"李某","賬務(wù)經(jīng)理",7000),
array(2,"王某","賬務(wù)專員",6000),
array(3,"劉某","賬務(wù)專員",5000)
)
);
foreach($wage as $section=>$table)
{
echo $section."部門(mén)人員如下";
foreach($table as $row)
{
foreach($row as $value)
{
echo $value;
}
}
} /* 何問(wèn)起 hovertree.com */
?>
以上所述是小編給大家介紹的php數(shù)組的實(shí)例詳解,希望對(duì)大家有所幫助。
- PHP處理數(shù)組和XML之間的互相轉(zhuǎn)換
- php 數(shù)組隨機(jī)取值的簡(jiǎn)單實(shí)例
- PHP中常用的數(shù)組操作方法筆記整理
- PHP遞歸遍歷多維數(shù)組實(shí)現(xiàn)無(wú)限分類的方法
- php數(shù)組冒泡排序算法實(shí)例
- 學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】
- php求數(shù)組全排列,元素所有組合的方法
- php數(shù)組分頁(yè)實(shí)現(xiàn)方法
- php簡(jiǎn)單實(shí)現(xiàn)數(shù)組分頁(yè)的方法
- PHP預(yù)定義變量9大超全局?jǐn)?shù)組用法詳解
相關(guān)文章
tp框架(thinkPHP)實(shí)現(xiàn)三次登陸密碼錯(cuò)誤之后鎖定賬號(hào)功能示例
這篇文章主要介紹了tp框架(thinkPHP)實(shí)現(xiàn)三次登陸密碼錯(cuò)誤之后鎖定賬號(hào)功能,結(jié)合實(shí)例形式分析了基于thinkPHP登陸判斷、標(biāo)志位運(yùn)算等操作實(shí)現(xiàn)密碼賬號(hào)鎖定功能,需要的朋友可以參考下2018-05-05
thinkphp3.2框架集成QRcode生成二維碼的方法分析
這篇文章主要介紹了thinkphp3.2框架集成QRcode生成二維碼的方法,結(jié)合實(shí)例形式分析了QRcode的下載、擴(kuò)展以及thinkphp3.2使用QRcode生成二維碼的相關(guān)操作技巧,需要的朋友可以參考下2020-03-03
laravel-admin 實(shí)現(xiàn)給grid的列添加行數(shù)序號(hào)的方法
今天小編就為大家分享一篇laravel-admin 實(shí)現(xiàn)給grid的列添加行數(shù)序號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
PHP 網(wǎng)站修改默認(rèn)訪問(wèn)文件的nginx配置
這篇文章主要介紹了PHP 網(wǎng)站修改默認(rèn)訪問(wèn)文件的nginx配置,需要的朋友可以參考下2017-05-05
PHP中用Trait封裝單例模式的實(shí)現(xiàn)
這篇文章主要介紹了PHP中用Trait封裝單例模式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

