phparrayssorting

Move leading array elements to the end so that array starts at a specified element


I was wondering how I could change the ordering of the following array:

Array
(
    [1] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 120
                    [hteam] => Heatherton
                    [ateam] => Dingley
                    [round] => 1
                    [catid] => Seniors
                    [date] => Saturday 14th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 121
                    [hteam] => Heatherton
                    [ateam] => Dingley
                    [round] => 1
                    [catid] => Reserves
                    [date] => Saturday 14th April, 2012
                    [time] => 11:45am
                    [venue] => Heatherton Recreational Reserve
                )

        )

    [2] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 122
                    [hteam] => Clayton
                    [ateam] => Heatherton
                    [round] => 2
                    [catid] => Seniors
                    [date] => Saturday 21st April, 2012
                    [time] => 12:00am
                    [venue] => Clayton Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 139
                    [hteam] => Clayton
                    [ateam] => Heatherton
                    [round] => 2
                    [catid] => Reserves
                    [date] => Saturday 21st April, 2012
                    [time] => 12:00am
                    [venue] => Clayton Reserve
                )
        )

    [3] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 123
                    [hteam] => Heatherton
                    [ateam] => St Pauls
                    [round] => 3
                    [catid] => Seniors
                    [date] => Saturday 28th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 140
                    [hteam] => Heatherton
                    [ateam] => St Pauls
                    [round] => 3
                    [catid] => Reserves
                    [date] => Saturday 28th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

        )

    [4] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 124
                    [hteam] => Mordialloc
                    [ateam] => Heatherton
                    [round] => 4
                    [catid] => Seniors
                    [date] => Saturday 5th May, 2012
                    [time] => 02:00pm
                    [venue] => Ben Kavanagh Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 141
                    [hteam] => Mordialloc
                    [ateam] => Heatherton
                    [round] => 4
                    [catid] => Reserves
                    [date] => Saturday 5th May, 2012
                    [time] => 11:45am
                    [venue] => Ben Kavanagh Reserve
                )

        )
)

From ^^ to this:

Array
(

    [3] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 123
                    [hteam] => Heatherton
                    [ateam] => St Pauls
                    [round] => 3
                    [catid] => Seniors
                    [date] => Saturday 28th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 140
                    [hteam] => Heatherton
                    [ateam] => St Pauls
                    [round] => 3
                    [catid] => Reserves
                    [date] => Saturday 28th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

        )

    [4] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 124
                    [hteam] => Mordialloc
                    [ateam] => Heatherton
                    [round] => 4
                    [catid] => Seniors
                    [date] => Saturday 5th May, 2012
                    [time] => 02:00pm
                    [venue] => Ben Kavanagh Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 141
                    [hteam] => Mordialloc
                    [ateam] => Heatherton
                    [round] => 4
                    [catid] => Reserves
                    [date] => Saturday 5th May, 2012
                    [time] => 11:45am
                    [venue] => Ben Kavanagh Reserve
                )

        )
        
        [1] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 120
                    [hteam] => Heatherton
                    [ateam] => Dingley
                    [round] => 1
                    [catid] => Seniors
                    [date] => Saturday 14th April, 2012
                    [time] => 12:00am
                    [venue] => Heatherton Recreational Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 121
                    [hteam] => Heatherton
                    [ateam] => Dingley
                    [round] => 1
                    [catid] => Reserves
                    [date] => Saturday 14th April, 2012
                    [time] => 11:45am
                    [venue] => Heatherton Recreational Reserve
                )

        )

    [2] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 122
                    [hteam] => Clayton
                    [ateam] => Heatherton
                    [round] => 2
                    [catid] => Seniors
                    [date] => Saturday 21st April, 2012
                    [time] => 12:00am
                    [venue] => Clayton Reserve
                )

            [1] => stdClass Object
                (
                    [id] => 139
                    [hteam] => Clayton
                    [ateam] => Heatherton
                    [round] => 2
                    [catid] => Reserves
                    [date] => Saturday 21st April, 2012
                    [time] => 12:00am
                    [venue] => Clayton Reserve
                )
        )
)

So in this example, the array starts on number 3, goes to 4, then back to number 1 again.. if that makes sense?


Solution

  • You can use usort php function that allows to define your own sort functions.