一梦千年系列

今日函数array_walkarsortasortcompactcountcurrent

array_walk1

对数组的每个元素执行回调,不递归

  1. 说明
array_walk(array &$array, callback $func, mixed $customer_data) : bool  
  1. 参数

array需要操作的数组

func执行回调的函数

customer_data如果提供了此参数,此参数将作为func的第三个参数

  1. 返回值

执行成功返回true,执行失败返回false

  1. 范例
$array = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

function func($value, $key)
{
    // 自定义处理过程
    echo $value . "\r\n";
}

array_walk($array, 'func');

以上范例会输出

swk
22
1
  1. 特别注意

只回调一维数组

arsort2

对数组键值进行降序排序,请保持索引关系

  1. 说明
arsort(array &$array, int $sort_flag = SORT_REGULAR) : bool
  1. 参数
    array需要排序的数组

sort_flag排序方式

  1. SORT_REGULAT-通常排序
  2. SORT_NUMERIC-数字排序
  3. SORT_STRING-字符串排序
  4. SORT_LOCAL_STRING本地字符串排序
  5. SORT_NATURAL-自然排序
  6. SORT_FLAG_CASE-能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串
  1. 返回值

排序成功返回true,排序失败返回false

  1. 范例
$array = [5, 2, 1, 9, 7];

arsort($array);

print_r($array);

以上范例输出


Array
(
    [3] => 9
    [4] => 7
    [0] => 5
    [1] => 2
    [2] => 1
)
  1. 特别说明

引用排序,影响的是原数组

asort3

对数组键值进行升序排序,请保持索引关系

  1. 说明
asort(array &$array, int $sort_flag = SORT_REGULAR) : bool
  1. 参数
    array需要排序的数组

sort_flag排序方式

  1. SORT_REGULAT-通常排序
  2. SORT_NUMERIC-数字排序
  3. SORT_STRING-字符串排序
  4. SORT_LOCAL_STRING本地字符串排序
  5. SORT_NATURAL-自然排序
  6. SORT_FLAG_CASE-能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串
  1. 返回值

排序成功返回true,排序失败返回false

  1. 范例
$array = [5, 2, 1, 9, 7];

asort($array);

print_r($array);

以上范例输出

Array
(
    [2] => 1
    [1] => 2
    [0] => 5
    [4] => 7
    [3] => 9
)
  1. 特别说明

引用排序,影响的是原数组

compact4

创建一个数组,包括变量名和他们的值

  1. 说明
compact(mixed $var_name, mixed ...) : array
  1. 参数

var_name变量名

...更多变量

  1. 返回值

返回一个使用变量名和变量值组成的数组

  1. 范例
$name = 'swk';
$age = 22;
$sex = 1;

$newArray = compact('name', ['age', 'sex']);

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特别说明

如果参数中有数组,会递归

count5

计算数组中元素的个数

  1. 说明
count(array $array, int $mode = COUNT_NORMAL) : int
  1. 参数

array需要计算个数的数组

mode是否需要递归计算个数

  1. 返回值

返回数组元素的个数

  1. 范例
$a = [2, 1, 9, 7];

$num = count($a);

print_r($num);

以上范例输出

4
  1. 特别说明

可以计算其它可以实现Countable 接口的对象

current6

返回数组当前指针对应的键值

  1. 说明
current(array|object $array) : mixed
  1. 参数

array需要操作的数组

  1. 返回值

返回当前指针的键值

  1. 范例
$a = [2, 1, 9, 7];

$num = current($a);

print_r($num);

以上范例输出

2
  1. 特别说明

该函数不会移动指针