Home > Article > Backend Development > Array processing function library page 1/2_PHP tutorial
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";
}
?>
参考 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
Returns the current element in the array.
Syntax: mixed current(array array);
Return value: Mixed type data
Function type: Data processing
Content description: Each array variable has an internal pointer, which refers to to every element of it. Additionally, arrays have a doubly linked list of all elements for cross-reference purposes. The internal pointer of the array points to the originally inserted element until the program executes a function that changes the array pointer. The function current() simply returns the internal array pointer currently pointed to by the array element. It does not change the value of the pointer. If the array pointer points outside the internal pointer table, it returns a value of false.
Note: If the array contains empty elements (0 or "" empty string), this function will return a false value. If the current element is a null element with zero value or exceeds the array pointer, the result is of course an undetermined false value. In this case, it would be more appropriate to use the each() function.
Reference end() next() prev() reset()
each
returns the index and value of the next element in the array.
Syntax: array each(array array);
Return value: array
Function type: Data processing
Content description The returned array is the index/value pair of the current array pointer. The returned array has four elements, in order 0, 1, index, and value. The aforementioned 0 and index are the indexes of the array, and the values 1 and 1 are the values of the array elements.
Usage Example
Example 1:
$foo = array( "bob", "fred", "jussi", " jouni" );
$bar = each( $foo );
?>
In the above example, the index/value of the returned array $bar is
0 => 0
1 => 'bob'
key => 0
value => 'bob'
Example 2:
< ?
$foo = array( "Robert" => "Bob", "Seppo" => "Sepi" );
$bar = each( $foo );
?>
In this example, the index/value of the returned array $bar is
0 => 'Robert'
1 => 'Bob'
key => 'Robert'
value => ; 'Bob'
Example 3:
The most typical example of each() function is to use it with the list() function, as shown in the following example $ HTTP_POST_VARS variables.
echo "The value sent by POST is:
";
while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) {
echo " $key => $val
";
}
?>
Reference current() key() list() next() prev() reset()
end
Points the internal pointer of the array to the last element.
Syntax: end(array array);
Return value: None
Function type: Data processing
Content description: This function will change the internal pointer of the array, and it will point the pointer to the last one on the elements.
Reference current() each() next() reset()
key
Get the index data in the array.
Syntax: mixed key(array array);
Return value: Mixed type data
Function type: Data processing
Content description
This function returns the index of the current array from the pointer
Reference current() next()
ksort
Sorts the elements of the array by index.
Syntax: void ksort(array array);
Return value: None
Function type: Data processing
Content description
This function sorts the elements in the array according to the index. The sorted index The sum value still corresponds to