I have a multi dimensional array like:
[
{
"C":[
{
"status":"0",
"num":"3223"
},
{
"status":"1",
"num":"45186"
},
{
"status":"2",
"num":"8310"
},
{
"status":"3",
"num":"82"
}
]
},
{
"F":[
{
"status":"0",
"num":"1506"
},
{
"status":"1",
"num":"31253"
},
{
"status":"2",
"num":"1660"
},
{
"status":"5",
"num":"1017"
}
]
},
{
"A":[
{
"status":"0",
"num":"1506"
},
{
"status":"1",
"num":"31253"
},
{
"status":"2",
"num":"1660"
},
{
"status":"5",
"num":"1017"
}
]
},
]
I want to sort this based on the keys (C
, F
, A
) etc. I thought about writing my own selection sort kind of sorting method using foreach
s, but I am sure it's not a very good way to do. I can also use ksort()
, usort()
, but not sure how.
I don't need anyone to write the whole code for me please, I will appreciate guidance about what is the best way to go about sorting an array like this.
The above string is actually an json_encode()
dump of the array.
Here is the var_dump()
:
array(6) { [0] => array(1) { 'C' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } } [1] => array(1) { 'F' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } } [2] => array(1) { 'A' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } } [3] => array(1) { 'D' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } } [4] => array(1) { 'E' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } } [5] => array(1) { 'B' => array(8) { [0] => array(2) { ... } [1] => array(2) { ... } [2] => array(2) { ... } [3] => array(2) { ... } [4] => array(2) { ... } [5] => array(2) { ... } [6] => array(2) { ... } [7] => array(2) { ... } } }}
Above's pretty print
array(6) {
[0] =>
array(1) {
'C' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
[1] =>
array(1) {
'F' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
[2] =>
array(1) {
'A' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
[3] =>
array(1) {
'D' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
[4] =>
array(1) {
'E' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
[5] =>
array(1) {
'B' =>
array(8) {
[0] =>
array(2) {
...
}
[1] =>
array(2) {
...
}
[2] =>
array(2) {
...
}
[3] =>
array(2) {
...
}
[4] =>
array(2) {
...
}
[5] =>
array(2) {
...
}
[6] =>
array(2) {
...
}
[7] =>
array(2) {
...
}
}
}
}