PHP數組的定義、初始化和數組元素的顯示

來源:互聯網
上載者:User
從ASP初入門到PHP,感覺到PHP的強大之一就是內建函數的豐富,比如先前學習的PHP日期時間函數,讀寫檔案的相關函數等都無不表明了PHP的更專業、更令使用者的使用得心應手。

一開始我對PHP函數的豐富功能很興奮,隨著對越來越多近乎變態多的函數接觸之後,突然聯想到了ASP內建函數的稀少,要完成某項特殊功能,常須自訂函數,隨著應用的在增多,自己居然也有了一套常用的函數庫。然而現在在PHP中,這些功能早已被標準化、正常化而濃縮為內建函數直接使用,曾經的ASP開發人員成為了PHP的普通使用者。

但轉念一想,這些函數、這些大量PHP函數的存在,至少說明了PHP的更專業;同時,在我們日常PHP程式處理時應該是很快捷易用的吧,這讓開發人員不再為些基礎功能、細節功能而去自訂函數,把主要的精力集中在組建更強大的程式模組上。所以,我更加堅定了一看PHP函數到底的信念,不過我想在以後的開發過程中,PHP函數手冊應該屬於隨身書了。

當然,關於ASP和PHP孰優孰劣的爭論就無需多討論,學習並瞭解能讓自己瞭解真相。

言正傳,PHP函數太多,防止遺忘,所以每次看完一類函數後我都做個總結和收集工作,方便起見就寫篇日誌。

1,數組的定義和初始化

什麼是數組?數組是一種編程結構,它是一個儲存一組或一系列數值的變數。

比如人口普查時對個人的身份登記,如姓名、性別、民族、出生等就可作為數組。

PHP中建立數組使用 array()結構來定義,比如:


$people=array('name','sex','nation','brith');


而如何顯示數組中的各元素的值,我們則是使用從0開始的索引,索引號在變數名稱後的方括弧中,比如:


<?php
$people=array('name','sex','nation','birth');
echo $people[2];
?>


輸出的$people[2]就是顯示的是nation(索引第一項從0計數)。

PHP除了支援 數字索引數組以外,還支援 相關數組。所謂相關數組,就是可自訂關鍵字來替換不直觀的數字索引,比如:


<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
echo $peoples['cs'];
?>


使用相關數組使得輸出的選擇很直觀(不需要預先計算索引號然後輸出),定義的關鍵字和值之間使用“=>”符號定義。

根據PHP數組元素的兩種顯示方式,還可以如變數一樣無需array()聲明和初始化,直接自動建立數字。比如


$people[0]='name';
$people[1]='sex';
$people[2]='nation';
$people[3]='brith';


或者


$peoples['xm']='name';
$peoples['xb']='sex';
$peoples['mz']='nation';
$peoples['cs']='birth';


該數組的大小根據所增加元素的多少動態變化。

2,數組元素的顯示

在如上使用的無論$people[2]也好,無論$peoples['cs']也好,都只是輸出已知的明確位置的數組元素值,如何快速輸出所有或部分的數組元素,使用迴圈語句無疑是最快的方法。


<?php
$people=array('name','sex','nation','birth');
for ($i=0;$i<4;$i++)
    echo "$people[$i] ";
?>


除了使用瞭解迴圈次數的for迴圈以外,還可以使用對迴圈次數無須要求的foreach語句。


<?php
$people=array('name','sex','nation','birth');
foreach($people as $xiangmu)
    echo $xiangmu;
?>


$xiangmu變數將儲存數組中的各元素值,依次顯示出來。當然,為了輸出的資料能間隔區分,可在數組元素之後輸出空格:
echo $xiangmu." ";
註:英文句號(.)可將字串串連合并成新的字串

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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