数组处理函数库第1/2页

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);

返回值: 无

函数种类:资料处理内容说明这个函数将数组的值重新排序,由大至小排列。数组的索引亦跟着值的乃承蚨涠5蹦诔绦蛑行枰匦抡硎橹档宁乃承蚴保涂梢允褂谜飧龊

使用范例

底下的范例返回的结果为

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页

参考 asort() rsort() ksort() sort()

asort

将数组的值由小到大排序。

语法: void asort(array array);

返回值: 无

函数种类: 资料处理

内容说明 这个函数将数组的值重新排序,由小至大排列。数组的索引亦跟着值的乃承蚨涠5蹦诔绦蛑行枰匦抡硎橹档宁乃承蚴保涂梢允褂谜飧龊

使用范例

底下的范例返回的结果为

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页

参考 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);返回值: 无函数种类: 资料处理内容说明 本函数将数组中的元素依索引排序,排序后的索引和值仍然对应

当前1/2页 12下一页阅读全文

相关推荐