Jump to content

Sorting subarrays by another array keys


Zugzwangle

Recommended Posts

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)

 

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!!

Link to comment
https://forums.phpfreaks.com/topic/274209-sorting-subarrays-by-another-array-keys/
Share on other sites

Is the data you have been posting in your threads coming from a database query? If so, you can generally do all this ordering/combining/processing in the query statement and just display the result from the query.

I found my answer!!

 

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;
 }

 

Thanks for reading anyhow.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.