一梦千年系列
今日函数
array_walk
、arsort
、asort
、compact
、count
、current
array_walk1
对数组的每个元素执行回调,不递归
- 说明
array_walk(array &$array, callback $func, mixed $customer_data) : bool
- 参数
array
需要操作的数组
func
执行回调的函数
customer_data
如果提供了此参数,此参数将作为func的第三个参数
- 返回值
执行成功返回true,执行失败返回false
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
function func($value, $key)
{
// 自定义处理过程
echo $value . "\r\n";
}
array_walk($array, 'func');
以上范例会输出
swk
22
1
- 特别注意
只回调一维数组
arsort2
对数组键值进行降序排序,请保持索引关系
- 说明
arsort(array &$array, int $sort_flag = SORT_REGULAR) : bool
- 参数
array
需要排序的数组
sort_flag
排序方式
- SORT_REGULAT-通常排序
- SORT_NUMERIC-数字排序
- SORT_STRING-字符串排序
- SORT_LOCAL_STRING本地字符串排序
- SORT_NATURAL-自然排序
- SORT_FLAG_CASE-能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串
- 返回值
排序成功返回true,排序失败返回false
- 范例
$array = [5, 2, 1, 9, 7];
arsort($array);
print_r($array);
以上范例输出
Array
(
[3] => 9
[4] => 7
[0] => 5
[1] => 2
[2] => 1
)
- 特别说明
引用排序,影响的是原数组
asort3
对数组键值进行升序排序,请保持索引关系
- 说明
asort(array &$array, int $sort_flag = SORT_REGULAR) : bool
- 参数
array
需要排序的数组
sort_flag
排序方式
- SORT_REGULAT-通常排序
- SORT_NUMERIC-数字排序
- SORT_STRING-字符串排序
- SORT_LOCAL_STRING本地字符串排序
- SORT_NATURAL-自然排序
- SORT_FLAG_CASE-能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串
- 返回值
排序成功返回true,排序失败返回false
- 范例
$array = [5, 2, 1, 9, 7];
asort($array);
print_r($array);
以上范例输出
Array
(
[2] => 1
[1] => 2
[0] => 5
[4] => 7
[3] => 9
)
- 特别说明
引用排序,影响的是原数组
compact4
创建一个数组,包括变量名和他们的值
- 说明
compact(mixed $var_name, mixed ...) : array
- 参数
var_name
变量名
...
更多变量
- 返回值
返回一个使用变量名和变量值组成的数组
- 范例
$name = 'swk';
$age = 22;
$sex = 1;
$newArray = compact('name', ['age', 'sex']);
print_r($newArray);
以上范例输出
Array
(
[name] => swk
[age] => 22
[sex] => 1
)
- 特别说明
如果参数中有数组,会递归
count5
计算数组中元素的个数
- 说明
count(array $array, int $mode = COUNT_NORMAL) : int
- 参数
array
需要计算个数的数组
mode
是否需要递归计算个数
- 返回值
返回数组元素的个数
- 范例
$a = [2, 1, 9, 7];
$num = count($a);
print_r($num);
以上范例输出
4
- 特别说明
可以计算其它可以实现Countable 接口的对象
current6
返回数组当前指针对应的键值
- 说明
current(array|object $array) : mixed
- 参数
array
需要操作的数组
- 返回值
返回当前指针的键值
- 范例
$a = [2, 1, 9, 7];
$num = current($a);
print_r($num);
以上范例输出
2
- 特别说明
该函数不会移动指针