首頁 >後端開發 >php教程 >數組處理函數庫第1/2頁_PHP教程

數組處理函數庫第1/2頁_PHP教程

WBOY
WBOY原創
2016-07-21 16:00:121050瀏覽

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
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";
}
?>
數組處理函數庫第1/2頁_PHP教程
参考 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";
}
?>
數組處理函數庫第1/2頁_PHP教程
参考 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 所送的值為:
";
while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) {
echo "$key => $val
";
}
?>

參考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);
傳回值: 無
函數種類: 資料處理
內容說明
本函數將陣列中的元素依索引排序,排序後的索引和值仍然對應

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/317161.htmlTechArticlearray : 建立一個新的陣列。 array_walk : 讓使用者自訂函數能處理陣列中的每一個元素。 arsort : 將陣列的值由大到小排序。 asort : 將陣列的值由...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn