Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中按id对数据排序_Php_Arrays_Cakephp - Fatal编程技术网

在php中按id对数据排序

在php中按id对数据排序,php,arrays,cakephp,Php,Arrays,Cakephp,我想在哪里分类。以下数组 $a = array( (int) 152 => array( 'id' => '152', 'name' => 'Grade 3: Unit #1: erewtrewt', 'sortByFld' => '103' ), (int) 168 => array( 'id' => '168', 'name' => 'Grade

我想在哪里分类。以下数组

$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-wise排序 如果SortById为common,则按升序对其id进行排序

我试着在蛋糕里这样做

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

我是cake php的新手,我仍然在努力解决它。

您可以在cake php中进行排序,如:

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

嗯,看起来很复杂,嗯 您可以先对id进行排序,然后对SortByFold进行排序,这样就可以了

就像

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