国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

動(dòng)態(tài)網(wǎng)頁技術(shù)PHP的數(shù)組處理函數(shù)庫

2024-05-04 23:02:49
字體:
供稿:網(wǎng)友

array :  建立一個(gè)新的數(shù)組。 
array_walk :  讓用戶自訂函數(shù)能處理數(shù)組中的每一個(gè)元素。 
arsort :  將數(shù)組的值由大到小排序。 
asort :  將數(shù)組的值由小到大排序。 
count :  計(jì)算變量或數(shù)組中的元素個(gè)數(shù)。 
current :  返回?cái)?shù)組中目前的元素。 
each :  返回?cái)?shù)組中下一個(gè)元素的索引及值。 
end :  將數(shù)組的內(nèi)部指針指到最后的元素。 
key :  取得數(shù)組中的索引資料。 
ksort :  將數(shù)組的元素依索引排序。 
list :  列出數(shù)組中元素的值。 
next :  將數(shù)組的內(nèi)部指針向后移動(dòng)。 
pos :  返回?cái)?shù)組目前的元素。 
prev :  將數(shù)組的內(nèi)部指針往前移動(dòng)。 
range :  建立一個(gè)整數(shù)范圍的數(shù)組。 
reset :  將數(shù)組的指針指到數(shù)組第一個(gè)元素。 
rsort :  將數(shù)組的值由大到小排序。 
shuffle :  將數(shù)組的順序弄混。 
sizeof :  獲知數(shù)組的大小。 
sort :  將數(shù)組排序。 
uasort :  將數(shù)組依用戶自定的函數(shù)排序。 
uksort :  將數(shù)組的索引依用戶自定的函數(shù)排序。 
usort :  將數(shù)組的值依用戶自定的函數(shù)排序。 

array

建立一個(gè)新的數(shù)組。

語法: array array(...);

返回值:數(shù)組

函數(shù)種類: 資料處理

內(nèi)容說明: 返回的參數(shù)是數(shù)組類型。參數(shù)可以是帶有 => 運(yùn)算子的索引。array() 其實(shí)不是一個(gè)正規(guī)的函數(shù),它主要是要用來表示數(shù)組。

使用范例 : 下面范例用顯示如何建立一個(gè)二維數(shù)組,如何指定聯(lián)合數(shù)組的鍵值,及如何略過和繼續(xù)數(shù)組中的數(shù)字索引。

$fruits = array(
"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);

參考 list()

array_walk
讓使用者自訂函數(shù)能處理數(shù)組中的每一個(gè)元素。

語法: int array_walk(array arr, string func);

返回值: 整數(shù)

函數(shù)種類: 資料處理

內(nèi)容說明 此函數(shù)使每個(gè)數(shù)組元素 arr 依序與函數(shù)名稱 func 相對(duì)應(yīng)。元素傳送到函數(shù) func 的第一個(gè)參數(shù),若參數(shù)超過一個(gè),則每次都會(huì)有警告信息。要處理警告信息,可在本函數(shù)前面加上 字符 (變成 @array_walk);或是使用 error_reporting 函數(shù)。

注意: 使用者自訂函數(shù) func 真的會(huì)將數(shù)組元素 arr 依序代入,所以任何對(duì)元素所做的改變都會(huì)影響到數(shù)組本身。

使用范例

<?
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
function test_alter( $item1 ) {
$item1 = 'bogus';
}function test_print( $item2 ) {
echo "$item2<br>/n";
}array_walk( $fruits, 'test_print' );
array_walk( $fruits, 'test_alter' );
array_walk( $fruits, 'test_print' );
?>
參考 each() list()

arsort
將數(shù)組的值由大到小排序。
語法: void arsort(array array);
返回值: 無
函數(shù)種類:資料處理內(nèi)容說明這個(gè)函數(shù)將數(shù)組的值重新排序,由大至小排列。數(shù)組的索引亦跟著值的順序而變動(dòng)。當(dāng)您在程序中需要重新整理數(shù)組值的順序時(shí),就可以使用這個(gè)函數(shù)。

使用范例
底下的范例返回的結(jié)果為
fruits[a] = orange
fruits[d] = lemon
fruits[b] = banana
fruits[c] = apple。
我們可以看到水果名 (數(shù)組值) 已按英文字母的順序由 z 往 a 重新排序,而索引亦跟著值變動(dòng)。
<?
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
arsort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."/n";
}
?>

參考 asort() rsort() ksort() sort()

asort
將數(shù)組的值由小到大排序。
語法: void asort(array array);
返回值: 無
函數(shù)種類: 資料處理

內(nèi)容說明 這個(gè)函數(shù)將數(shù)組的值重新排序,由小至大排列。數(shù)組的索引亦跟著值的順序而變動(dòng)。當(dāng)您在程序中需要重新整理數(shù)組值的順序時(shí),就可以使用這個(gè)函數(shù)。

使用范例
底下的范例返回的結(jié)果為
fruits[c] = apple
fruits[b] = banana
fruits[d] = lemon
fruits[a] = orange
我們可以看到水果名 (數(shù)組值) 已按英
文字母的順序由 a 往 z 排序,而索引亦跟著值變動(dòng)。
<?
$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
asort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."/n";
}
?>
 
參考 arsort() rsort() ksort() sort()

count
計(jì)算變量或數(shù)組中的元素個(gè)數(shù)。
語法: int count(mixed var);
返回值: 整數(shù)
函數(shù)種類: 資料處理

內(nèi)容說明 這個(gè)函數(shù)用來計(jì)算數(shù)組的元素個(gè)數(shù) (亦可將變量代入,只不過返回的整數(shù)將是 1)。變量還沒有配置時(shí),返回值為 0。變量若不是數(shù)組,返回值為 1。

參考 sizeof() isset() is_array()

current
返回?cái)?shù)組中目前的元素。
語法: mixed current(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理

內(nèi)容說明 說明: 每一個(gè)數(shù)組變量都有一個(gè)內(nèi)部指針,指到它的每一個(gè)元素。此外,為了交互參考,數(shù)組有份所有元素的雙向鏈結(jié)表。數(shù)組的內(nèi)部指針指到原先插入的元素上,直到程序執(zhí)行到有改動(dòng)數(shù)組指針的函數(shù)。函數(shù) current() 簡單地返回?cái)?shù)組元素中目前指到的數(shù)組內(nèi)部指針。它不會(huì)改變指針的值,若數(shù)組指針指到內(nèi)部指針表外,則返回 false 的值。

注意: 若數(shù)組中包含空的元素 (0 或者 "" 空字符串),則本函數(shù)會(huì)返回 false 值。要是目前元素是個(gè)零值的空元素或者是超出數(shù)組指針,結(jié)果當(dāng)然是未定的 false 值。遇到這種情形,可以使用 each() 函數(shù)會(huì)更適合。

參考 end() next() prev() reset()

each
返回?cái)?shù)組中下一個(gè)元素的索引及值。
語法: array each(array array);
返回值: 數(shù)組
函數(shù)種類: 資料處理

內(nèi)容說明 返回?cái)?shù)組為目前數(shù)組指針的 索引/值 對(duì)。返回的數(shù)組有四個(gè)元素,依序?yàn)?0, 1, 索引, 及值。前述的 0 與 索引 為數(shù)組的索引,1 與 值則為數(shù)組元素的值。
使用范例
范例一:
<?
$foo = array( "bob", "fred", "jussi", "jouni" );
$bar = each( $foo );
?>
上面的例子,返回?cái)?shù)組 $bar 的 索引/值 為
0 => 0
1 => 'bob'
key => 0
value => 'bob'

范例二:
<?
$foo = array( "robert" => "bob", "seppo" => "sepi" );
$bar = each( $foo );
?>
這個(gè)的例子,返回?cái)?shù)組 $bar 的 索引/值 為
0 => 'robert'
1 => 'bob'
key => 'robert'
value => 'bob'

范例三:
each() 函數(shù)最典型的例子是拿來與 list() 函數(shù)合用,如下例的 $http_post_vars 變量。
<?
echo "post 所送出的值為:<br>";
while ( list( $key, $val ) = each( $http_post_vars ) ) {
echo "$key => $val<br>";
}
?>

參考 current() key() list() next() prev() reset()

end
將數(shù)組的內(nèi)部指針指到最后的元素。
語法: end(array array);
返回值: 無
函數(shù)種類: 資料處理

內(nèi)容說明 本函數(shù)會(huì)改變數(shù)組的內(nèi)部指針,它將指針指到最后一個(gè)元素上。

參考 current() each() next() reset()

key
取得數(shù)組中的索引資料。
語法: mixed key(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理
內(nèi)容說明
本函數(shù)從目前數(shù)組的指針,返回其索引

參考 current() next()

ksort
將數(shù)組的元素依索引排序。
語法: void ksort(array array);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明
本函數(shù)將數(shù)組中的元素依索引排序,排序后的索引和值仍然對(duì)應(yīng)

使用范例
<?
$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ù)組中元素的值。
語法: void list(...);
返回值: 無
函數(shù)種類: 資料處理

內(nèi)容說明 和 array 函數(shù)一樣,不算是正規(guī)的函數(shù)。list() 函數(shù)用在列出所有數(shù)組中的數(shù)值。

使用范例
下面的范例列出從 mysql 數(shù)據(jù)庫返回的數(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)。
語法: mixed next(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理
內(nèi)容說明 這個(gè)函數(shù)返回?cái)?shù)組下個(gè)元素的內(nèi)部指針,若沒有下個(gè)元素,則返回 false 值。當(dāng)然,若是一個(gè)空的數(shù)組,它也返回 false 值。要正確地處理可能是空的數(shù)組,可以使用 each() 函數(shù)。此函數(shù)看起來像 current() 函數(shù),不同地方在于本函數(shù)使指針往后指到下一個(gè)元素,并返回新的指針處的元素值,意即指針后移,并返回下一個(gè)元素值。

參考 current() end() prev() reset()

pos
返回?cái)?shù)組目前的元素。
語法: mixed pos(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理
內(nèi)容說明
此函數(shù)其實(shí)就是 current() 函數(shù)。
參考
end() next() prev() reset()

數(shù)組處理函數(shù)庫
prev
將數(shù)組的內(nèi)部指針往前移動(dòng)。
語法: mixed prev(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理
內(nèi)容說明 這個(gè)函數(shù)返回?cái)?shù)組前一個(gè)元素的內(nè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ù)組。
語法: array range(int low, int high);
返回值: 數(shù)組
函數(shù)種類: 資料處理
內(nèi)容說明 此函數(shù)建立一個(gè)由小到大的連續(xù)整數(shù)數(shù)組。在 shuffle() 函數(shù)有使用范例
參考 shuffle()

reset
將數(shù)組的指針指到數(shù)組第一個(gè)元素。
語法: mixed reset(array array);
返回值: 混合類型資料
函數(shù)種類: 資料處理
內(nèi)容說明 本函數(shù)將數(shù)組的指針重設(shè),將指針改指到數(shù)組的第一個(gè)元素。返回值的內(nèi)容也是數(shù)組的第一個(gè)元素。
使用范例
技巧:
[email protected] 指出 (30-jul-1998),當(dāng)數(shù)組的資料不夠穩(wěn)定時(shí),使用 reset() 會(huì)有警告信息。最常發(fā)生的時(shí)候是處理 html 表單(form)的輸入資料時(shí),若用戶輸入的資料不夠充份,或用戶故意增刪輸入 (input) 字段,就有可能會(huì)有警告信息。用 @reset() 的方式可使警告信息不出現(xiàn) (在 reset() 前加 @),不過這只是掩耳盜鈴的方式;要斧底抽薪的方法是使用 if (isset()) 的方式 (參見 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ù)組的值由大到小排序。
語法: void rsort(array array);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明
本函數(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ù)組的順序弄混。
語法: void shuffle(array array);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明 本函數(shù)將數(shù)組以隨機(jī)的方式使全部元素重新亂排。
使用范例
<?
$numbers = range(1,20);
srand(time());
shuffle($numbers);
while (list(,$number) = each($numbers)) {
echo "$number ";
}
?>
注意:
[email protected] 指出 (31-may-1999),在 solaris 上由于受了 libc 函數(shù)庫的影響,會(huì)使本函數(shù)出現(xiàn)問題。目前解決的方式如下面的例子。(注: 或許之后新的 php 版本會(huì)修正這個(gè)問題。)
<?
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ù)組的大小。
語法: int sizeof(array array);
返回值: 整數(shù)
函數(shù)種類: 資料處理
內(nèi)容說明
本函數(shù)以整數(shù)類型返回?cái)?shù)組的元素個(gè)數(shù)。
參考 count()

sort
將數(shù)組排序。
語法: void sort(array array);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明 本函數(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ù)組依用戶自定的函數(shù)排序。
語法: void uasort(array array, function cmp_function);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明 本函數(shù)將數(shù)組依用戶自定的方式重排,當(dāng)然元素的索引和值仍然保持對(duì)應(yīng)的關(guān)系。當(dāng)您覺得需要自行設(shè)計(jì)排序的方式時(shí),可以先自訂處理函數(shù),再使用本函數(shù)將數(shù)組值排序。
參考 arsort() asort() ksort() rsort() sort() uksort()

uksort
將數(shù)組的索引依用戶自定的函數(shù)排序。
語法: void uksort(array array, function cmp_function);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明 本函數(shù)將數(shù)組的索引依用戶自定的方式重排,cmp_function 即用戶自行開發(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: $value/n";
}
?>
上面的程序返回資料為
20: twenty
10: ten
4: four
3: three
參考 arsort() asort() ksort() rsort() sort() uasort()

usort
將數(shù)組的值依用戶自定的函數(shù)排序。
語法: void usort(array array, function cmp_function);
返回值: 無
函數(shù)種類: 資料處理
內(nèi)容說明
本函數(shù)將數(shù)組的值依用戶自定的方式重排。若程序中需要使用特殊的排序方式,則可以使用這個(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: $value/n";
}
?>
此例的返回值為
0: 6
1: 5
2: 3
3: 2
4: 1
參考 arsort() asort() ksort() rsort() sort()


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 格尔木市| 娱乐| 兴安县| 军事| 来凤县| 徐水县| 洛扎县| 兴义市| 长宁区| 汽车| 宁津县| 乌苏市| 阳江市| 项城市| 航空| 连平县| 炎陵县| 轮台县| 乡宁县| 兴和县| 温州市| 绥阳县| 博湖县| 九龙坡区| 喜德县| 舟山市| 明星| 南乐县| 当阳市| 密云县| 余干县| 静宁县| 宁都县| 安龙县| 新民市| 易门县| 岱山县| 漳浦县| 康保县| 南华县| 通城县|