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