PHP 4.0中新添加了30個與組數有關的函數,其中一些常見的函數可以判斷一個數組中是否包含某個元素,對一個數組中的元素進行計數,添加或刪除數組中的元素或者對數組中的元素進行排序。
如果有一個很大的數組,而你需要找出其中是否包含一個特定的元素,就可以使用in_array()。下面的例子將顯示“Not found in this array”,因為在一個名字為$namesArray的數組中查找Albert,而在$namesArray數組中不存在這樣一個元素。
以下為引用的內容: <? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John"); $lookingFor = "Albert"; if (in_array($lookingFor, $namesArray)) { echo "You've found it!"; } else { echo "Not found in this array!"; } ?> |
如果要對一個數組中的元素個數進行計數,只要簡單地使用count()函數即可:
以下為引用的內容: <? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John"); $count = count($namesArray); ?> |
可以在一個數組的開頭或結尾處添加元素,還可以使用array_merge()來建立一個包含二個或更多數組中元素的新數組,合并時,元素的順序會按指定的順序排列,如果原來的數組是被排過序的,在合并后需要對它重新排序。
我們可以首先利用array_push()在數組的結尾處添加一個元素:
以下為引用的內容: <? /* 建立一個數組 */ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /* 向數組中添加元素 */ array_push($fruitArray, "grape", "pineapple", "tomato"); /*顯示每個元素及其序號*/ while (list($key,$value) = each($fruitArray)) { echo "$key : $value<br>"; } ?> |
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : grape
6 : pineapple
7 : tomato
如果需要在數組的開頭添加元素,其代碼與上面的代碼差不多,唯一的不同之處是需要用array_unshift()代替array_push()。
以下為引用的內容: <? /* 建立一個數組*/ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /* 向數組中添加元素*/ array_unshift($fruitArray, "grape", "pineapple", "tomato"); /* 顯示每個元素及其序號*/ while (list($key,$value) = each($fruitArray)) { echo "$key : $value<br>"; } ?> |
0 : grape
1 : pineapple
2 : tomato
3 : apple
4 : orange
5 : banana
6 : kiwi
7 : pear
array_merge()函數可以把二個或更多的數組合并為一個數組。
以下為引用的內容: <? /*建立第一個數組*/ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /*/建立第二個數組*/ $vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn"); /*把這二個數組合并為一個數組*/ $goodfoodArray = array_merge($fruitArray, $vegArray); /* 顯示每個元素及其序號*/ while (list($key,$value) = each($goodfoodArray)) { echo "$key : $value<br>"; } ?> |
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : carrot
6 : green beans
7 : asparagus
8 : artichoke
9 : corn
現在我們已經掌握了如何添加元素和合并數組,我們再來看看如何從一個數組中刪除元素。從一個數組的末尾刪除一個元素可以使用array_pop()函數,使用array_shift()函數可以從一個數組的開頭刪除一個元素。盡管使用array_pop()或 array_shift()從數組中刪除了一個元素,你還可以把這個元素當作一個變量來使用。
使用array_pop()從一個數組的末尾刪除一個元素:
以下為引用的內容: <? /*建立一個數組*/ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /* 從數組的末尾刪除一個元素*/ $popped = array_pop($fruitArray); /* 顯示刪除后數組的內容和你刪除的元素*/ while (list($key,$value) = each($fruitArray)) { echo "$key : $value<br>"; } echo "<br>and finally, in $popped: $popped"; ?> |
0 : apple
1 : orange
2 : banana
3 : kiwi
and finally, in $popped: pear
我們再來討論一個從一個數組的末尾刪除元素的例子:
以下為引用的內容: <? /* 建立一個數組*/ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /*從一個數組的開始刪除一個元素*/ $shifted = array_shift($fruitArray); /* 顯示刪除后數組的內容和你刪除的元素*/ while (list($key,$value) = each($fruitArray)) { echo "$key : $value<br>"; } echo "<br>and finally, in $shifted: $shifted"; ?> |
0 : orange
1 : banana
2 : kiwi
3 : pear
and finally, in $shifted: apple
另外還有幾個函數可以對數組中的元素進行排序,但在這里我們將只簡要介紹基本的排序函數,說明排序的過程:
以下為引用的內容: <? /*建立一個數組*/ $fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /* 對數組進行排序*/ sort($fruitArray); /*顯示每個元素及其序號*/ while (list($key,$value) = each($fruitArray)) { echo "$key : $value<br>"; } ?> |
新聞熱點
疑難解答