CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   PHP (http://www.codingforums.com/forumdisplay.php?f=6)
-   -   Sorting subarrays by another array keys (http://www.codingforums.com/showthread.php?t=287323)

zugzwangle 02-08-2013 04:10 PM

Sorting subarrays by another array keys
 
Hi there all,

Thank you for your suggestions and help in anticipation of your help!!

I have 2x arrays. The first is an array of the totals for each round. The second is an array split into weeks (the weeks being the first level keys. I would like to arrange all of the second subarray team names, in order of the teamnames of the first array. so in order of [team3], [team5], [team1], [team2] and [team4].. I hope you follow what I mean.. Here are the first and second arrays!!


First array (Total of rounds)

Code:

Array
(
    [Team3] => Array
        (
            [brd_points] => 14
            [ttl_points] => 5
            [games] => 3
        )

    [Team5] => Array
        (
            [brd_points] => 12
            [ttl_points] => 3
            [games] => 2
        )

    [Team1] => Array
        (
            [brd_points] => 7
            [ttl_points] => 3
            [games] => 2
        )

    [Team2] => Array
        (
            [brd_points] => 16
            [ttl_points] => 1
            [games] => 3
        )

    [Team4] => Array
        (
            [brd_points] => 7
            [ttl_points] => 0
            [games] => 2
        )

)1
// Second array - individual rounds.

Array
(
    [1] => Array
        (
            [Team3] => Array
                (
                    [brd_points] => 4
                    [ttl_points] => 2
                )

            [Team2] => Array
                (
                    [brd_points] => 6
                    [ttl_points] => 0
                )

            [Team4] => Array
                (
                    [brd_points] => 6
                    [ttl_points] => 0
                )

            [Team1] => Array
                (
                    [brd_points] => 2
                    [ttl_points] => 2
                )

            [Team5] => Array
                (
                    [brd_points] => Bye
                    [ttl_points] => Bye
                )

        )

    [2] => Array
        (
            [Team3] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 2
                )

            [Team4] => Array
                (
                    [brd_points] => 1
                    [ttl_points] => 0
                )

            [Team5] => Array
                (
                    [brd_points] => 7
                    [ttl_points] => 2
                )

            [Team2] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 0
                )

            [Team1] => Array
                (
                    [brd_points] => Bye
                    [ttl_points] => Bye
                )

        )

    [3] => Array
        (
            [Team2] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 1
                )

            [Team3] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 1
                )

            [Team5] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 1
                )

            [Team1] => Array
                (
                    [brd_points] => 5
                    [ttl_points] => 1
                )

            [Team4] => Array
                (
                    [brd_points] => Bye
                    [ttl_points] => Bye
                )

        )

)
1

Again thanks for your help!!

zugzwangle 02-08-2013 05:28 PM

Found an answer
 
I found an answer!! Thanks for reading.
PHP Code:

function sort_array($array$orderArray) {
            
$ordered = array();
            foreach(
$orderArray as $key => $value) {
                if(
array_key_exists($key,$array)) {
                        
$ordered[$key] = $array[$key];
                        unset(
$array[$key]);
                }
            }
            return 
$ordered $array;
        } 



All times are GMT +1. The time now is 09:08 AM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.