用代碼行數(shù)來測算軟件開發(fā)進度如同按重量測算飛機制造進度
-------------比爾·蓋茨
本篇主要知識點:
數(shù)組概述
數(shù)組類型
數(shù)組聲明
數(shù)組遍歷輸出
其他應(yīng)用
數(shù)組概述
什么是數(shù)組,大概是人們發(fā)揮想象力創(chuàng)造出的存儲量的捷徑,數(shù)組的本質(zhì)是儲存管理和操作一組變量,有了它,我們不必單個聲明變量,而只需要組聲明
數(shù)組類型
php里的數(shù)組同樣分為,一維數(shù)組和多維數(shù)組,但是Php通常不以這個分類來區(qū)分數(shù)組,它的數(shù)組類型分為:數(shù)字索引數(shù)組,關(guān)聯(lián)數(shù)組,兩者的區(qū)別在于索引不同,學(xué)過其他高級語言的童鞋也都知道,它們的數(shù)組索引是以0,1,2……順序的,Php的數(shù)字索引數(shù)組也是如此,但是關(guān)聯(lián)數(shù)組就不是了,他是有特定的字符串索引,類似于散列,map的鍵值對,我們可以通過字符串索引找到他們
數(shù)組聲明
知道分類之后我們需要聲明數(shù)組
聲明數(shù)組時要注意以下幾點:
1.符合標準命名規(guī)則
2.不能與其他量重名
3.區(qū)分大小寫
下面是幾種聲明方式
//用戶創(chuàng)建方式
$array["Jav"] ="JAVA";
$array["Php"] ="PHP";
$array["Pyt"] ="Python";
//輸出某個值
echo$array["Php"];
//專門打印數(shù)組的函數(shù)
print_r($array);
上述代碼,我們可以看到,用戶創(chuàng)建數(shù)組是挨個賦值的,那有沒有更方便的方法呢?答案是有的,這就是下面的這種函數(shù)創(chuàng)建,系統(tǒng)給我們提供了創(chuàng)建數(shù)組的函數(shù)
//通過array方法直接創(chuàng)建數(shù)組
$arr = array("1"=>"Php","2"=>"Java","3"=>"Python");
echo $arr["2"];
數(shù)組遍歷輸出
在上面代碼片中提到過print_r這個函數(shù),他是專門用來打印數(shù)組的函數(shù),但是只是一個預(yù)覽的格式,在實際中可能僅僅用來展示,如下所示
那我們應(yīng)該怎么取得遍歷的值呢?
//當然是使用我們的foreach語句啦,其中$array是數(shù)組,$value是臨時變量
foreach ($array as $value)
echo $value."\n";
//這樣可以同時獲取鍵值
foreach ($array as $key=>$value)
echo "鍵".$key."----值".$value."\n";
我們也可以用for語句來遍歷,不過要注意一個問題,for語句只能遍歷數(shù)字下標的數(shù)組
Php作為一個簡單的語言,當然是提供了很豐富的庫函數(shù),如下面的list()與each(),我們可以這樣來寫我們的遍歷語句
//將數(shù)組傳給each()函數(shù),然后用list()函數(shù)解析每一個指針對應(yīng)的數(shù)據(jù)項的鍵值
while(list($name,$value) = each($array)){
echo "鍵".$name."值".$value."\n";
}
其他應(yīng)用
php為數(shù)組提供了很多有用的函數(shù)
//統(tǒng)計元素個數(shù)
echo count($array);
//入棧操作
array_push($array,"新添加");
//返回棧頂元素
print array_pop($array);
//刪除重復(fù)元素
array_unique($array);
//獲取鍵名
echo array_search("Python",$array);
另外還有隨機抽取,逆向排序等這里就不多介紹了。
Php數(shù)組基礎(chǔ)就這么多啦。