I have a multidimensional array that looks like this:
<?php
$array = array(
"categories" => array(
array(
array(
"arr1" => array(
'Name' => "some name associated with 300",
'availability' => true,
'amount' => 300
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
),
array(
array(
"arr1" => array(
'Name' => "some name associated with 59",
'availability' => true,
'amount' => 59
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
),
array(
array(
"arr1" => array(
'Name' => "some name associated with 100",
'availability' => true,
'amount' => 100
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
)
),
"departures" => array(
//..same as above arrays..
),
"arrivals" => array(
// ..same as above arrays..
),
//..more arrays
);
?>
I am trying to sort it by the amount
key value (From Smallest to Largest) so that I can have a result like this:
$array = array(
"categories" => array(
array(
array(
"arr1" => array(
'Name' => "some name associated with 59",
'availability' => true,
'amount' => 59
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
),
array(
array(
"arr1" => array(
'Name' => "some name associated with 100",
'availability' => true,
'amount' => 100
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
),
array(
array(
"arr1" => array(
'Name' => "some name associated with 300",
'availability' => true,
'amount' => 300
),
"arr2" => array(
'Name' => "some other name",
),
"arr3" => array(
'Name' => "some other name",
)
)
)
),
"departures" => array(
//..same as above arrays..
),
"arrivals" => array(
//..same as above arrays..
),
);
I have tried to iterate through the arrays and create a new one but I am repeatedly getting stuck.. unless there's a completely different way to do this. Can you please help me out?.. This is what I have tried so far:
$ordered_arr = array(
"departures" => array(),
"arrivals" => array(),
"categories" => array()
);
foreach ($array as $key => $arrOpts) {
$new_key = "";
foreach ($arrOpts as $arrVals) {
if (empty($ordered_arr[$key])) {
array_push($ordered_arr[$key], $arrVals);
} else {
var_dump();
/// this is where im stuck
}
}
}