相关疑难解决方法(0)

使用array_multisort对数组进行排序

我有以下数组:

$array = array(
        'note' => array(),
        'year' => array('2011','2010', '2012'),
        'type' => array('conference', 'journal', 'conference'),
    );
Run Code Online (Sandbox Code Playgroud)

我使用以下函数使用字段类型和另一个数组对数组进行排序:

function array_multisort_by_order(array $array, $by, array $order)
{
    $order = array_flip($order);
    $params[] = $array[$by];
    foreach($params[0] as &$v) $v = $order[$v];
    foreach($array as &$v) $params[] = &$v; unset($v);
    call_user_func_array('array_multisort', $params);
    return $array;
}
Run Code Online (Sandbox Code Playgroud)

当我调用以下函数时,我收到以下错误:

$array = array_multisort_by_order($array, 'type', array('conference', 'journal'));

print_r($array['type']);
Run Code Online (Sandbox Code Playgroud)

错误:

Warning: array_multisort(): Array sizes are inconsistent.
Run Code Online (Sandbox Code Playgroud)

我知道数组是不一致的.有更好的功能使用吗?

请检查:键盘

期望的输出:

Array
(
[note] => Array
    (
        [0] => 
        [1] => 
        [2] => …
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

7
推荐指数
1
解决办法
2096
查看次数

使用指定的排序选项对多个"列"(键)上的多维数组阵列进行排序

我希望能够在多个列上对多维数组进行排序.为了进一步复杂化,我希望能够为每个键/列设置特定的排序选项.我有类似DB查询的结果,但实际上并不是来自一个,因此需要在PHP而不是SQL中对其进行排序.

Array
(
    [0] => Array
        (
            [first_name] => Homer
            [last_name] => Simpson
            [city] => Springfield
            [state] => Unknown
            [zip] => 66735
        )

    [1] => Array
        (
            [first_name] => Patty
            [last_name] => Bouvier
            [city] => Scottsdale
            [state] => Arizona
            [zip] => 85250
        )

    [2] => Array
        (
            [first_name] => Moe
            [last_name] => Szyslak
            [city] => Scottsdale
            [state] => Arizona
            [zip] => 85255
        )

    [3] => Array
        (
            [first_name] => Nick
            [last_name] => Riviera
            [city] => Scottsdale
            [state] => Arizona
            [zip] …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting multidimensional-array

6
推荐指数
1
解决办法
4437
查看次数

标签 统计

arrays ×2

multidimensional-array ×2

php ×2

sorting ×1