php 4.0中新添加了30個與組數(shù)有關(guān)的函數(shù),其中一些常見的函數(shù)可以判斷一個數(shù)組中是否包含某個元素,對一個數(shù)組中的元素進行計數(shù),添加或刪除數(shù)組中的元素或者對數(shù)組中的元素進行排序。
如果有一個很大的數(shù)組,而你需要找出其中是否包含一個特定的元素,就可以使用in_array()。下面的例子將顯示“not found in this array”,因為在一個名字為$namesarray的數(shù)組中查找albert,而在$namesarray數(shù)組中不存在這樣一個元素。
<? $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!";
}
?>
如果把$lookingfor的值改為mary,就會得到“you've found it!”的信息,因為mary是$namesarray數(shù)組中的一個元素。
如果要對一個數(shù)組中的元素個數(shù)進行計數(shù),只要簡單地使用count()函數(shù)即可:
<? $namesarray = array("joe", "jane", "bob", "mary", "paul", "eddie", "john");
$count = count($namesarray); ?>
返回的$count的值為7。
可以在一個數(shù)組的開頭或結(jié)尾處添加元素,還可以使用array_merge()來建立一個包含二個或更多數(shù)組中元素的新數(shù)組,合并時,元素的順序會按指定的順序排列,如果原來的數(shù)組是被排過序的,在合并后需要對它重新排序。
我們可以首先利用array_push()在數(shù)組的結(jié)尾處添加一個元素:
<? /* 建立一個數(shù)組 */
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/* 向數(shù)組中添加元素 */
array_push($fruitarray, "grape", "pineapple", "tomato");
/*顯示每個元素及其序號*/
while (list($key,$value) = each($fruitarray)) {
echo "$key : $value<br>";
}
?>
運行上面的程序?qū)⒌玫较旅娴慕Y(jié)果:
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : grape
6 : pineapple
7 : tomato
如果需要在數(shù)組的開頭添加元素,其代碼與上面的代碼差不多,唯一的不同之處是需要用array_unshift()代替array_push()。
<?
/* 建立一個數(shù)組*/
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/* 向數(shù)組中添加元素*/
array_unshift($fruitarray, "grape", "pineapple", "tomato");
/* 顯示每個元素及其序號*/
while (list($key,$value) = each($fruitarray)) {
echo "$key : $value<br>";
}
?>
運行上面的程序?qū)⒌玫较旅娴慕Y(jié)果:
0 : grape
1 : pineapple
2 : tomato
3 : apple
4 : orange
5 : banana
6 : kiwi
7 : pear
array_merge()函數(shù)可以把二個或更多的數(shù)組合并為一個數(shù)組。
<? /*建立第一個數(shù)組*/
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/*/建立第二個數(shù)組*/
$vegarray = array("carrot", "green beans", "asparagus", "artichoke", "corn");
/*把這二個數(shù)組合并為一個數(shù)組*/
$goodfoodarray = array_merge($fruitarray, $vegarray);
/* 顯示每個元素及其序號*/
while (list($key,$value) = each($goodfoodarray)) {
echo "$key : $value<br>";
}
?>
運行上面的腳本將得到下面的結(jié)果:
0 : apple
1 : orange
2 : banana
3 : kiwi
4 : pear
5 : carrot
6 : green beans
7 : asparagus
8 : artichoke
9 : corn
現(xiàn)在我們已經(jīng)掌握了如何添加元素和合并數(shù)組,我們再來看看如何從一個數(shù)組中刪除元素。從一個數(shù)組的末尾刪除一個元素可以使用array_pop()函數(shù),使用array_shift()函數(shù)可以從一個數(shù)組的開頭刪除一個元素。盡管使用array_pop()或 array_shift()從數(shù)組中刪除了一個元素,你還可以把這個元素當(dāng)作一個變量來使用。
使用array_pop()從一個數(shù)組的末尾刪除一個元素:
<?
/*建立一個數(shù)組*/
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/* 從數(shù)組的末尾刪除一個元素*/
$popped = array_pop($fruitarray);
/* 顯示刪除后數(shù)組的內(nèi)容和你刪除的元素*/
while (list($key,$value) = each($fruitarray)) {
echo "$key : $value<br>";
}
echo "<br>and finally, in $popped: $popped";
?>
運行上面的腳本會得到下面的結(jié)果:
0 : apple
1 : orange
2 : banana
3 : kiwi
and finally, in $popped: pear
我們再來討論一個從一個數(shù)組的末尾刪除元素的例子:
<?
/* 建立一個數(shù)組*/
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/*從一個數(shù)組的開始刪除一個元素*/
$shifted = array_shift($fruitarray);
/* 顯示刪除后數(shù)組的內(nèi)容和你刪除的元素*/
while (list($key,$value) = each($fruitarray)) {
echo "$key : $value<br>";
}
echo "<br>and finally, in $shifted: $shifted";
?>
運行上述腳本會得到如下的顯示結(jié)果:
0 : orange
1 : banana
2 : kiwi
3 : pear
and finally, in $shifted: apple
另外還有幾個函數(shù)可以對數(shù)組中的元素進行排序,但在這里我們將只簡要介紹基本的排序函數(shù),說明排序的過程:
<? /*建立一個數(shù)組*/
$fruitarray = array("apple", "orange", "banana", "kiwi", "pear");
/* 對數(shù)組進行排序*/
sort($fruitarray);
/*顯示每個元素及其序號*/
while (list($key,$value) = each($fruitarray)) {
echo "$key : $value<br>";
}
?>
運行上述的腳本會得到如下的顯示結(jié)果:
0 : apple
1 : banana
2 : kiwi
3 : orange
4 : pear
新聞熱點
疑難解答