为什么那些几乎相同的代码在php的array_walk + ksort中得到不同的结果?

时间:2017-08-24 01:55:47

标签: php ksort array-walk

我想按键对多个数组进行排序,这些数据来自前端,不知何故会随机排序。·
所以我必须对数据进行排序,首先我自然地使用组合' array_walk($ array," ksort")'。在简单的数组数据上工作正常,在处理多阵列时,它的工作是错误的。

最后,我通过循环ksort解决它。

但我不知道为什么几乎相同的代码得到不同的结果。

有人帮忙吗? THX

.val

结果:

    $arr = [
        ['identifier_num' => 1, 'form_id' => 3, 'is_view' => 1, 'in_time' => '3', 'model_num' => 44],
        ['form_id' => 1, 'identifier_num' => 3, 'in_time' => 1, 'is_view' => '3', 'model_num' => 44],
        ['b' => 1, 'a' => '2'],
    ];
    $a2 = $arr;

    array_walk($arr, 'diydiy');
    var_dump($arr);

    array_walk($a2, 'ksort');
    var_dump($a2);

    function diydiy(&$a)
    {
        ksort($a);
    }

0 个答案:

没有答案