I’m trying to figure out the correct function in PHP to sort a multidimensional array. I considered doing a foreach and then using ksort (this didn’t work). I think it might be useful to note that the secondary keys (the numeric ones) are “manually” set (instead of using array_push since the first key in that scenario would be 0 instead of 1).
This is for a single instance so I don’t need a class for this or anything super-special, I’m interested in the correct-context function in PHP to make this bit of code more performance oriented (as well as to figure out what I’m doing wrong).
Note I want to keep the PRIMARY keys (e,g, Main and Promotional) their current order.
The unsorted array…
Array
(
[Main] => Array
(
[3] => Main2
[2] => Content
[1] => Main1
)
[Promotional] => Array
(
[3] => Promotional1
[2] => Content
[1] => Promotional2
)
)
The desired outcome (sorting by second-level key)…
Array
(
[Main] => Array
(
[1] => Main1
[2] => Content
[3] => Main2
)
[Promotional] => Array
(
[1] => Promotional2
[2] => Content
[3] => Promotional1
)
)
You could also try this:
the ampersand before the $data variable indicates that the $data variable is a pointer, and any changes to that variable will cascade back to the original configuration.