在PHP中使用array_walk来管理一个数组数组?

时间:2012-07-09 17:01:46

标签: php arrays multidimensional-array sorting

如何将ksort应用于$counts数组的每个元素?我的意思是简单地在每个嵌套数组上调用此函数,而不是递归。

bool array_walk(array &$array, callable $funcname [,mixed $userdata = NULL])

我已尝试array_walk将标记SORT_NUMERIC作为用户数据传递。这给了我警告

    $counts = array();

    $counts['group1'] = array(); // Keys are timestamps but as STRING
    $counts['group2'] = array(); // Keys are timestamps but as STRING
    // ...

    // Array + operator does a key reordering here
    $counts['group1'] += $dummyData;
    $counts['group2'] += $dummyData;

    // .. so sort array by keys
    array_walk($counts, 'ksort', SORT_NUMERIC);
  

警告:ksort()最多需要2个参数,给定3个。

什么是第三个参数

编辑:天才回答:

foreach($counts as &$group) :
    ksort($group, SORT_NUMERIC);
endforeach;

1 个答案:

答案 0 :(得分:0)

来自http://php.net/manual/en/function.array-walk.php

  

通常,funcname采用两个参数。数组参数   值是第一个,键/索引第二个。

     

如果提供了可选的userdata参数,它将作为传递   回调函数的第三个参数。