PHP數組執行個體詳解_php執行個體

來源:互聯網
上載者:User

作為一名C++程式員,在轉做PHP開發的過程中,對PHP數組產生了一些混淆,與C++數組有相似的地方,也有一些不同,下面就全面地分析一下PHP的數組及其與C++中相應資料類型的區別和聯絡。

數組的分類:

1、數值數組:也叫索引數組,即以數字(從0 開始)作為數組下標。相當於C++中的vector。

2、關聯陣列:以字串作為數組下標。相當於C++中的map。

3、多維陣列:數組中每個元素也是一個數組。其子數組中的每個元素也可以是數組。

數組的聲明:

1、數值數組

a、如下例子中,會自動分配數字ID鍵。

$names = array("Peter","Joe","Lily");
b、如下例子中,我們人工分配數字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"; /* 何問起 hovertree.com */?> 

2、關聯陣列:

例子1

$ages = array("Peter"=>32, "Joe"=>30, "Lily"=>28);

例子2

本例與例子1相同,只是另一種建立數組的方法。

$ages["Peter"] = "32"; $ages["Joe"] = "30"; $ages["Lily"] = "28"; 

在指令碼中使用關聯陣列:

<?php $ages["Peter"] = "32"; $ages["Joe"] = "30"; $ages["Lily"] = "28"; echo "Peter is ".$ages["Peter"]." years old."; /* 何問起 hovertree.com */?> 

以上指令碼輸出:

Peter is 32 years old.

3、多維陣列:

在本例中,我們建立了一個帶有自動分配數字ID鍵的多維陣列:

$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迴圈遍曆

for迴圈只能遍曆索引數組。

<?php $names = array("Peter","Joe","Lily"); for($id=0;$id<count($names);++$id) { echo $names[$id]; } ?> 

2、foreach遍曆

即可以遍曆索引數組,也可以遍曆關聯陣列

遍曆索引數組

foreach(array_expression as $value) { 迴圈體; } 遍曆關聯陣列 foreach(array_expression as $key=>$value) { 迴圈體; } 

A、一維數組遍曆

索引數組

<?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、多維陣列遍曆

<?php $wage = array( "市場部"=array( array(1,"李某","市場經理",8000), array(2,"王某","市場專員",5000), array(3,"劉某","市場專員",7000) ), "產品部"=array( array(1,"李某","產品經理",9000), array(2,"王某","產品專員",6000), array(3,"劉某","產品專員",5000) ), "賬務部"=array( array(1,"李某","賬務經理",7000), array(2,"王某","賬務專員",6000), array(3,"劉某","賬務專員",5000) ) ); foreach($wage as $section=>$table) { echo $section."部門人員如下"; foreach($table as $row) { foreach($row as $value) { echo $value; } } } /* 何問起 hovertree.com */?> 

以上所述是小編給大家介紹的php數組的執行個體詳解,希望對大家有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.