array : 建立一個新的數組。 array_walk : 讓用戶自訂函數能處理數組中的每一個元素。 arsort : 將數組的值由大到小排序。 asort : 將數組的值由小到大排序。 count : 計算變量或數組中的元素個數。 current : 返回數組中目前的元素。 each : 返回數組中下一個元素的索引及值。 end : 將數組的內部指針指到最後的元素。 key : 取得數組中的索引資料。 ksort : 將數組的元素依索引排序。 list : 列出數組中元素的值。 next : 將數組的內部指針向後移動。 pos : 返回數組目前的元素。 prev : 將數組的內部指針往前移動。 range : 建立一個整數范圍的數組。 reset : 將數組的指針指到數組第一個元素。 rsort : 將數組的值由大到小排序。 shuffle : 將數組的順序弄混。 sizeof : 獲知數組的大小。 sort : 將數組排序。 uasort : 將數組依用戶自定的函數排序。 uksort : 將數組的索引依用戶自定的函數排序。 usort : 將數組的值依用戶自定的函數排序。
array
建立一個新的數組。
語法: array array(...);
返回值:數組
函數種類: 資料處理
內容說明: 返回的參數是數組類型。參數可以是帶有 => 運算子的索引。array() 其實不是一個正規的函數,它主要是要用來表示數組。
使用范例 : 下面范例用顯示如何建立一個二維數組,如何指定聯合數組的鍵值,及如何略過和繼續數組中的數字索引。
$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
讓使用者自訂函數能處理數組中的每一個元素。
語法: int array_walk(array arr, string func);
返回值: 整數
函數種類: 資料處理
內容說明 此函數使每個數組元素 arr 依序與函數名稱 func 相對應。元素傳送到函數 func 的第一個參數,若參數超過一個,則每次都會有警告信息。要處理警告信息,可在本函數前面加上 '@' 字符 (變成 @array_walk);或是使用 error_reporting 函數。
注意: 使用者自訂函數 func 真的會將數組元素 arr 依序代入,所以任何對元素所做的改變都會影響到數組本身。
使用范例
<?
$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
將數組的值由大到小排序。
語法: void arsort(array array);
返回值: 無
函數種類:資料處理內容說明這個函數將數組的值重新排序,由大至小排列。數組的索引亦跟著值的順序而變動。當您在程序中需要重新整理數組值的順序時,就可以使用這個函數。
使用范例
底下的范例返回的結果為
fruits[a] = orange
fruits[d] = lemon
fruits[b] = banana
fruits[c] = apple。
我們可以看到水果名 (數組值) 已按英文字母的順序由 z 往 a 重新排序,而索引亦跟著值變動。
<?
$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
將數組的值由小到大排序。
語法: void asort(array array);
返回值: 無
函數種類: 資料處理
內容說明 這個函數將數組的值重新排序,由小至大排列。數組的索引亦跟著值的順序而變動。當您在程序中需要重新整理數組值的順序時,就可以使用這個函數。
使用范例
底下的范例返回的結果為
fruits[c] = apple
fruits[b] = banana
fruits[d] = lemon
fruits[a] = orange
我們可以看到水果名 (數組值) 已按英
文字母的順序由 a 往 z 排序,而索引亦跟著值變動。
<?
$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
計算變量或數組中的元素個數。
語法: int count(mixed var);
返回值: 整數
函數種類: 資料處理
內容說明 這個函數用來計算數組的元素個數 (亦可將變量代入,只不過返回的整數將是 1)。變量還沒有配置時,返回值為 0。變量若不是數組,返回值為 1。
參考 sizeof() isset() is_array()
current
返回數組中目前的元素。
語法: mixed current(array array);
返回值: 混合類型資料
函數種類: 資料處理
內容說明 說明: 每一個數組變量都有一個內部指針,指到它的每一個元素。此外,為了交互參考,數組有份所有元素的雙向鏈結表。數組的內部指針指到原先插入的元素上,直到程序執行到有改動數組指針的函數。函數 current() 簡單地返回數組元素中目前指到的數組內部指針。它不會改變指針的值,若數組指針指到內部指針表外,則返回 false 的值。
注意: 若數組中包含空的元素 (0 或者 "" 空字符串),則本函數會返回 false 值。要是目前元素是個零值的空元素或者是超出數組指針,結果當然是未定的 false 值。遇到這種情形,可以使用 each() 函數會更適合。
參考 end() next() prev() reset()
each
返回數組中下一個元素的索引及值。
語法: array each(array array);
返回值: 數組
函數種類: 資料處理
內容說明 返回數組為目前數組指針的 索引/值 對。返回的數組有四個元素,依序為 0, 1, 索引, 及值。前述的 0 與 索引 為數組的索引,1 與 值則為數組元素的值。
使用范例
范例一:
<?
$foo = array( "bob", "fred", "jussi", "jouni" );
$bar = each( $foo );
?>
上面的例子,返回數組 $bar 的 索引/值 為
0 => 0
1 => 'bob'
key => 0
value => 'bob'
范例二:
<?
$foo = array( "Robert" => "Bob", "Seppo" => "Sepi" );
$bar = each( $foo );
?>
這個的例子,返回數組 $bar 的 索引/值 為
0 => 'Robert'
1 => 'Bob'
key => 'Robert'
value => 'Bob'
范例三:
each() 函數最典型的例子是拿來與 list() 函數合用,如下例的 $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
將數組的內部指針指到最後的元素。
語法: end(array array);
返回值: 無
函數種類: 資料處理
內容說明 本函數會改變數組的內部指針,它將指針指到最後一個元素上。
參考 current() each() next() reset()
key
取得數組中的索引資料。
語法: mixed key(array array);
返回值: 混合類型資料
函數種類: 資料處理
內容說明
本函數從目前數組的指針,返回其索引
參考 current() next()
ksort
將數組的元素依索引排序。
語法: void ksort(array array);
返回值: 無
函數種類: 資料處理
內容說明
本函數將數組中的元素依索引排序,排序後的索引和值仍然對應