數(shù)組處理函數(shù)庫(kù)第2/2頁(yè)
使用范例
<?
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
ksort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."n";
}
?>
上面的例子,返回的資料為
fruits[a] = orange
fruits[b] = banana
fruits[c] = apple
fruits[d] = lemon

參考 arsort() asort() sort() rsort()
list
列出數(shù)組中元素的值。
語(yǔ)法: void list(...);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 和 array 函數(shù)一樣,不算是正規(guī)的函數(shù)。list() 函數(shù)用在列出所有數(shù)組中的數(shù)值。
使用范例
下面的范例列出從 MySQL 數(shù)據(jù)庫(kù)返回的數(shù)組資料。
<table>
<tr>
<th>員工姓名</th>
<th>薪資</th>
</tr>
<?php
$result = mysql($conn, "SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
print(" <tr>n".
" <td><a href="info.php3?id=$id">$name</a></td>n".
" <td>$salary</td>n".
" </tr>n");
}
?></table>
參考 each() array()
next
將數(shù)組的內(nèi)部指針向后移動(dòng)。
語(yǔ)法: mixed next(array array);
返回值: 混合類(lèi)型資料
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 這個(gè)函數(shù)返回?cái)?shù)組下個(gè)元素的內(nèi)部指針,若沒(méi)有下個(gè)元素,則返回 false 值。當(dāng)然,若是一個(gè)空的數(shù)組,它也返回 false 值。要正確地處理可能是空的數(shù)組,可以使用 each() 函數(shù)。此函數(shù)看起來(lái)像 current() 函數(shù),不同地方在于本函數(shù)使指針往后指到下一個(gè)元素,并返回新的指針處的元素值,意即指針后移,并返回下一個(gè)元素值。
參考 current() end() prev() reset()
pos
返回?cái)?shù)組目前的元素。
語(yǔ)法: mixed pos(array array);
返回值: 混合類(lèi)型資料
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明
此函數(shù)其實(shí)就是 current() 函數(shù)。
參考
end() next() prev() reset()
數(shù)組處理函數(shù)庫(kù)
prev
將數(shù)組的內(nèi)部指針往前移動(dòng)。
語(yǔ)法: mixed prev(array array);
返回值: 混合類(lèi)型資料
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 這個(gè)函數(shù)返回?cái)?shù)組前一個(gè)元素的內(nèi)部指針,若沒(méi)有前一個(gè)元素,則返回 false 值。當(dāng)然,若是一個(gè)空的數(shù)組,它也返回 false 值。要正確地處理可能是空的數(shù)組,可以使用 each() 函數(shù)。此函數(shù)有點(diǎn)像 next() 函數(shù),只是 prev() 函數(shù)是將指針往前移,而 next() 函數(shù)是將指針往后移。
參考 current() end() next() reset()
range
建立一個(gè)整數(shù)范圍的數(shù)組。
語(yǔ)法: array range(int low, int high);
返回值: 數(shù)組
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 此函數(shù)建立一個(gè)由小到大的連續(xù)整數(shù)數(shù)組。在 shuffle() 函數(shù)有使用范例
參考 shuffle()
reset
將數(shù)組的指針指到數(shù)組第一個(gè)元素。
語(yǔ)法: mixed reset(array array);
返回值: 混合類(lèi)型資料
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 本函數(shù)將數(shù)組的指針重設(shè),將指針改指到數(shù)組的第一個(gè)元素。返回值的內(nèi)容也是數(shù)組的第一個(gè)元素。
使用范例
技巧: kk@shonline.de 指出 (30-Jul-1998),當(dāng)數(shù)組的資料不夠穩(wěn)定時(shí),使用 reset() 會(huì)有警告信息。最常發(fā)生的時(shí)候是處理 HTML 表單(form)的輸入資料時(shí),若用戶(hù)輸入的資料不夠充份,或用戶(hù)故意增刪輸入 (input) 字段,就有可能會(huì)有警告信息。用 @reset() 的方式可使警告信息不出現(xiàn) (在 reset() 前加 @),不過(guò)這只是掩耳盜鈴的方式;要斧底抽薪的方法是使用 if (isset()) 的方式 (參見(jiàn) 4.48.14 isset() 函數(shù)),如下例
<?
if (isset($form_array)) {
reset($form_array);
while (list($k, $v) = each($form_array)) {
do_something($k, $v);
}
}
?>
參考 current() each() next() prev()
rsort
將數(shù)組的值由大到小排序。
語(yǔ)法: void rsort(array array);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明
本函數(shù)將數(shù)組依由大到小的方式重排。
使用范例
<?
$fruits = array("lemon","orange","banana","apple");
rsort($fruits);
for(reset($fruits); list($key,$value) = each($fruits); ) {
echo "fruits[$key] = ".$value."n";
}
?>
處理后的結(jié)果為
fruits[0] = orange
fruits[1] = lemon
fruits[2] = banana
fruits[3] = apple
參考 arsort() asort() ksort() sort() usort()
shuffle
將數(shù)組的順序弄混。
語(yǔ)法: void shuffle(array array);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 本函數(shù)將數(shù)組以隨機(jī)的方式使全部元素重新亂排。
使用范例
<?
$numbers = range(1,20);
srand(time());
shuffle($numbers);
while (list(,$number) = each($numbers)) {
echo "$number ";
}
?>
注意:
ccunning@math.ohio-state.edu 指出 (31-May-1999),在 Solaris 上由于受了 libc 函數(shù)庫(kù)的影響,會(huì)使本函數(shù)出現(xiàn)問(wèn)題。目前解決的方式如下面的例子。(注: 或許之后新的 PHP 版本會(huì)修正這個(gè)問(wèn)題。)
<?
function myshuffle($array) {
mt_srand((double) microtime()*1000000);
$num = count($array);
for ($i=0; $i<$num-1; $i++) {
$n = mt_rand($i+1,$num);
$temp = $array[$n];
$array[$n] = $array[$i];
$array[$i] = $temp;
}
}
$array = array(1,2,3,4,5,6,7,8,9,10);
myshuffle(&$array);
while (list(,$var)=each($array)) {
echo $var . " ";
}
?>
參考 arsort() asort() ksort() rsort() sort() usort()
sizeof
獲知數(shù)組的大小。
語(yǔ)法: int sizeof(array array);
返回值: 整數(shù)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明
本函數(shù)以整數(shù)類(lèi)型返回?cái)?shù)組的元素個(gè)數(shù)。
參考 count()
sort
將數(shù)組排序。
語(yǔ)法: void sort(array array);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 本函數(shù)將數(shù)組依由小到大的方式重排。
使用范例
<?
$fruits = array("lemon","orange","banana","apple");
sort($fruits);
for(reset($fruits); list($key,$value) = each($fruits); ) {
echo "fruits[$key] = ".$value."n";
}
?>
返回的結(jié)果為
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
參考 arsort() asort() ksort() rsort() usort()
uasort
將數(shù)組依用戶(hù)自定的函數(shù)排序。
語(yǔ)法: void uasort(array array, function cmp_function);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 本函數(shù)將數(shù)組依用戶(hù)自定的方式重排,當(dāng)然元素的索引和值仍然保持對(duì)應(yīng)的關(guān)系。當(dāng)您覺(jué)得需要自行設(shè)計(jì)排序的方式時(shí),可以先自訂處理函數(shù),再使用本函數(shù)將數(shù)組值排序。
參考 arsort() asort() ksort() rsort() sort() uksort()
uksort
將數(shù)組的索引依用戶(hù)自定的函數(shù)排序。
語(yǔ)法: void uksort(array array, function cmp_function);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明 本函數(shù)將數(shù)組的索引依用戶(hù)自定的方式重排,cmp_function 即用戶(hù)自行開(kāi)發(fā)的函數(shù)。
使用范例
<?
function mycompare($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, mycompare);
while(list($key, $value) = each($a)) {
echo "$key: $valuen";
}
?>
上面的程序返回資料為
20: twenty
10: ten
4: four
3: three
參考 arsort() asort() ksort() rsort() sort() uasort()
usort
將數(shù)組的值依用戶(hù)自定的函數(shù)排序。
語(yǔ)法: void usort(array array, function cmp_function);
返回值: 無(wú)
函數(shù)種類(lèi): 資料處理
內(nèi)容說(shuō)明
本函數(shù)將數(shù)組的值依用戶(hù)自定的方式重排。若程序中需要使用特殊的排序方式,則可以使用這個(gè)函數(shù)。
使用范例
<?
function cmp($a,$b) {
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$a = array(3,2,5,6,1);
usort($a, cmp);
while(list($key,$value) = each($a)) {
echo "$key: $valuen";
}
?>
此例的返回值為
0: 6
1: 5
2: 3
3: 2
4: 1
參考 arsort() asort() ksort() rsort() sort()
相關(guān)文章
PHP isset()與empty()的使用區(qū)別詳解
通過(guò)對(duì)PHP語(yǔ)言的學(xué)習(xí),應(yīng)該知道它是基于函數(shù)的一款HTML腳本語(yǔ)言。龐大的函數(shù)庫(kù)支持著PHP語(yǔ)言功能的實(shí)現(xiàn)。下面我們?yōu)榇蠹医榻B有關(guān)PHP函數(shù)isset()與empty()的相關(guān)用法。2010-08-08用PHP連接Oracle for NT 遠(yuǎn)程數(shù)據(jù)庫(kù)
用PHP連接Oracle for NT 遠(yuǎn)程數(shù)據(jù)庫(kù)...2006-10-10PHP反轉(zhuǎn)字符串函數(shù)strrev()函數(shù)的用法
strrev()函數(shù)的用法,很好玩的函數(shù),主要功能就是把字符串進(jìn)行首尾顛倒并把顛倒后的結(jié)果返回2012-02-02php入門(mén)學(xué)習(xí)知識(shí)點(diǎn)八 PHP中for循環(huán)基本應(yīng)用之九九乘法口絕表
php入門(mén)學(xué)習(xí)知識(shí)點(diǎn)八 PHP中for循環(huán)基本應(yīng)用之九九乘法口絕表,需要的朋友可以參考下。主要是掌握f(shuō)or命令的靈活運(yùn)用。2011-07-07php面向?qū)ο笕ヂ?(四)構(gòu)造方法與析構(gòu)方法
大多數(shù)類(lèi)都有一種稱(chēng)為構(gòu)造函數(shù)的特殊方法。當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),它將自動(dòng)調(diào)用構(gòu)造函數(shù),也就是使用new 這個(gè)關(guān)鍵字來(lái)實(shí)例化對(duì)象的時(shí)候自動(dòng)調(diào)用構(gòu)造方法。2009-09-09