明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

PHP4.0數(shù)組相關(guān)函數(shù)的應(yīng)用

[摘要]由于PHP具有快速、可靠、跨平臺應(yīng)用、源代碼開放等特點,使得PHP成為最受歡迎的服務(wù)器端Script語言之一,今天在這里我和大家談?wù)凱HP4.0中數(shù)組相關(guān)函數(shù)應(yīng)用的問題。PHP 4.0 提供了超過三十個 PHP 3.0 沒有的數(shù)組相關(guān)函數(shù)以供程序設(shè)計員運用。這些函數(shù)里面常用的功能有:檢查一個數(shù)組里...
由于PHP具有快速、可靠、跨平臺應(yīng)用、源代碼開放等特點,使得PHP成為最受歡迎的服務(wù)器端Script語言之一,今天在這里我和大家談?wù)凱HP4.0中數(shù)組相關(guān)函數(shù)應(yīng)用的問題。PHP 4.0 提供了超過三十個 PHP 3.0 沒有的數(shù)組相關(guān)函數(shù)以供程序設(shè)計員運用。這些函數(shù)里面常用的功能有:檢查一個數(shù)組里面是否包含某個值,計算某個值在數(shù)組里面出現(xiàn)的次數(shù),新增或者刪除數(shù)組元素以及將數(shù)組元素重新排序等等,下面我將在這幾方面與大家探討。  

1.檢查數(shù)組中的值  

如果有一個很大的數(shù)組,而你要做的只是檢查數(shù)組里面是否包含某個你感興趣的值,那么你可以使用 in_array()函數(shù)來輕松地完成這項功能。下面這個例子的程序會在頁面上顯示「在數(shù)組中找不到你要找的值」("Not found in this array") 這個字符串,因為你要找的字符串「Albert」的確不在 $namesArray 這個數(shù)組里面:  

<? $namesArray = array("Heart", "Love", "Boy", "Mary", "Paul", "Merry", "Jacky");
$lookingFor = "Albert";  
if (in_array($lookingFor, $namesArray)) {
echo "找到了!";
} else {
echo "在數(shù)組中找不到你要找的值!";
}
?>  
  

如果你把變量$lookingFor的值改成「Mary」然后重新執(zhí)行一次,那么這次畫面上便會顯示「找到了!」("You've found it!"),因為「Mary」這個值的確存在在$namesArray數(shù)組里面。 如果你想知道數(shù)組所包含的元素總個數(shù),那么你可以使用簡單易用的count()函數(shù):  

<? $namesArray = array("Heart", "Love", "Boy", "Mary", "Paul", "Merry", "Jacky");
$count = count($namesArray); ?>  
  

變量$count的值將會是7。  

2.數(shù)組元素的增加  

你可以很容易地在數(shù)組的頭或者尾端新增一個元素。  

下面的例子中首先示范如何使用 array_push() 函數(shù)在數(shù)組的尾端新增元素:  

<? /* 首先我們建立一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");  
/* 使用array_push()函數(shù)在原有數(shù)組尾端新增一些元素 */
array_push($fruitArray, "grape", "pineapple", "tomato");  
/* 現(xiàn)在把該數(shù)組的所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}  
?>  
  

顯示結(jié)果如下:  

0 : apple
1 : orange
2 : banana
3 : Peach
4 : pear
5 : grape
6 : pineapple
7 : tomato  
  

現(xiàn)在來示范如何從數(shù)組的開頭新增一些元素。下面的程序代碼和前面一個例子幾乎完全相同,唯一的差別只是這里使用的函數(shù)是array_unshift()而不是 array_push()。  

<?
/* 首先我們建立一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");  
/* 使用array_unshift()函數(shù)在原有數(shù)組開頭新增一些元素 */
array_unshift($fruitArray, "grape", "pineapple", "tomato");  
/* 現(xiàn)在把該數(shù)組的所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}  
?>  
  

顯示結(jié)果如下:  

0 : grape
1 : pineapple
2 : tomato
3 : apple
4 : orange
5 : banana
6 : Peach
7 : pear  
  

3.數(shù)組的合并  

array_merge()函數(shù)將兩個或以上的數(shù)組合并成一個新的數(shù)組,在合并數(shù)組元素的時候,合并的順序是按照原有數(shù)組被呼叫到的順序來決定。如果原有數(shù)組本身已經(jīng)被重新排序過,那么在數(shù)組合并完成以后,你必須針對產(chǎn)生出來的新數(shù)組重新再排序一次。下面這個范例就介紹這個函數(shù)的使用方式:  

<? /* 首先建立第一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");  
/* 接下來建立第二個數(shù)組 */
$vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn");  
/* 現(xiàn)在使用array_merge()函數(shù)將兩個數(shù)組合并成一個新的數(shù)組 */
$goodfoodArray = array_merge($fruitArray, $vegArray);  
/* 最后我們把合并后的新數(shù)組的所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($goodfoodArray)) {
echo "$key : $value<br>";
}  
?>  
  

顯示結(jié)果如下:  

0 : apple
1 : orange
2 : banana
3 : Peach
4 : pear
5 : carrot
6 : green beans
7 : asparagus
8 : artichoke
9 : corn  
  

4.數(shù)組元素的刪除  

介紹完如何新增元素以及合并數(shù)組以后,現(xiàn)在我來介紹如何從數(shù)組中刪除一些元素。首先,如果要從數(shù)組的尾端刪除元素,我們可以使用 array_pop() 函數(shù)。另外還有一個函數(shù)叫做 array_shift(),它是用來從數(shù)組的開頭刪除一些元素。在我們把元素從數(shù)組中刪除以后,該數(shù)組就再也找不到我們之前刪除的元素了,但是被刪除的元素還是可以透過一個變量來取得它的值。  

現(xiàn)在我們試著使用array_pop()函數(shù)從數(shù)組的尾端刪除一些元素:  

<?
/* 首先我們建立一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");  
/* 使用array_pop()函數(shù)從數(shù)組的尾端刪除一個元素 */
$popped = array_pop($fruitArray);  
/* 現(xiàn)在我們把刪除后的數(shù)組中所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}  
echo "<br>最后,剛才被刪除的元素的值會儲存在 \$popped 變量里面,它的值是:$popped";  
?>  
  

顯示結(jié)果如下:  

0 : apple
1 : orange
2 : banana
3 : Peach  
  

最后,剛才被刪除的元素的值會儲存在 $popped 變量里面,它的值是: pear 。  

接下來示范如何從數(shù)組的開頭刪除元素:  

<?
/* 首先我們建立一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");  
/* 使用 array_shift()函數(shù)從數(shù)組的開頭刪除一個元素 */
$shifted = array_shift($fruitArray);  
/* 現(xiàn)在我們把刪除后的數(shù)組中所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}  
echo "<br>最后,剛才被刪除的元素的值會儲存在 \$shifted 變量里面,它的值是:
$shifted";  
?>  
  

顯示結(jié)果如下:  

0 : orange
1 : banana
2 : Peach
3 : pear  
  

5.數(shù)組的排序  

最后,剛才被刪除的元素的值會儲存在 $shifted 變量里面,它的值是:apple 。  

PHP4.0提供了許多函數(shù)可以用來將數(shù)組的元素重新排序,但是在這里我只介紹基本的排序方式好讓你能了解數(shù)組排序的過程:  

<? /* 首先我們建立一個數(shù)組 */
$fruitArray = array("apple", "orange", "banana", "Peach", "pear");
/* 使用 sort()函數(shù)將數(shù)組的元素重新排序 */
sort($fruitArray);  
/* reset ($fruitArray) 以便我們能正確的將它從頭至尾的顯示*/  
/* 現(xiàn)在我們把刪除后的數(shù)組中所有元素的鍵(key)與值(value)都顯示在網(wǎng)頁上 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value<br>";
}  
?>  
  

顯示結(jié)果如下:  

0 : apple
1 : banana
2 : Peach
3 : orange
4 : pear