Sorting array for every child coming after parent

后端 未结 2 1281
挽巷
挽巷 2021-01-07 08:08

I have an array like that:

 1,
        \'parent_id\' => null
    ),
    array(
        \'id\' => 2,
             


        
2条回答
  •  天命终不由人
    2021-01-07 08:27

    Working solution : PHP has user define sorting function uasort I have used this to sort your array.

     1,
            'parent_id' => null
        ),
        array(
            'id' => 2,
            'parent_id' => 1
        ),
        array(
            'id' => 3,
            'parent_id' => null
        ),
        array(
            'id' => 4,
            'parent_id' => 2
        )
    );
    
    
    
    function cmp($a, $b) {    
        if ($a['parent_id'] == $b['parent_id']) {
            return 0;
        }
        return ($a['parent_id'] < $b['parent_id']) ? -1 : 1;
    }
    
    uasort($data, 'cmp');
    echo '
    ';
    print_r($data);
    echo '
    ';

提交回复
热议问题