在 cake php 中按 id 排序数据

sort data by id in cake php

我想在哪里排序。以下数组..

$a = array(
    (int) 152 => array(
        'id' => '152',
        'name' => 'Grade 3: Unit #1: erewtrewt',
        'sortByFld' => '103'
    ),
    (int) 168 => array(
        'id' => '168',
        'name' => 'Grade 3: Unit #20: ##Media## worksheet',
        'sortByFld' => '2003'
    ),
    (int) 94 => array(
        'id' => '94',
        'name' => 'Grade 3: Unit #1: test worksheet',
        'sortByFld' => '103'
    ),
    (int) 98 => array(
        'id' => '98',
        'name' => 'Grade 3: Unit #1: 1234',
        'sortByFld' => '103'
    ),
    (int) 183 => array(
        'id' => '183',
        'name' => 'Grade 3: Unit #1: match ddd',
        'sortByFld' => '103'
    )
);

我想要像

这样的数组
$a = array(

    (int) 94 => array(
        'id' => '94',
        'name' => 'Grade 3: Unit #1: test worksheet',
        'sortByFld' => '103'
    ),

    (int) 98 => array(
        'id' => '98',
        'name' => 'Grade 3: Unit #1: 1234',
        'sortByFld' => '103'
    ),

    (int) 152 => array(
        'id' => '152',
        'name' => 'Grade 3: Unit #1: erewtrewt',
        'sortByFld' => '103'
    ),

    (int) 183 => array(
        'id' => '183',
        'name' => 'Grade 3: Unit #1: match ddd',
        'sortByFld' => '103'
    ),
    (int) 168 => array(
        'id' => '168',
        'name' => 'Grade 3: Unit #20: ##Media## worksheet',
        'sortByFld' => '2003'
    )
);

请注意,我需要明智地按 sortByFID 排序 如果 sortByFID id common 则对它们的 id 升序排序。

我在蛋糕里试过这样php

$a = Set::sort($tests, '{n}.sortByFld', 'asc');
$a = Hash::combine($tests, '{n}.id',  '{n}.name');

我是蛋糕新手php,我仍然很难解决它。

您可以在蛋糕 php 中进行排序,例如:

Hash::sort($tests, '{n}.id', 'asc');

嗯,好像很复杂,好吧 您可以先对 id 进行排序,然后对 sortByFld 进行排序。

就像。

$id = Set::sort($tests, '{n}.id', 'asc');
$a = Set::sort($id, '{n}.sortByFld', 'asc');