What I'd like to do is sort this multidimensional array by multiple keys. I've attempted to use array_multisort() but haven't had luck because of the type of array.
A function that can have multiple keys to it to sort by (relevancy, date) would be best so that other arrays with the same structure could use it as well.
This is the $array I'm working with:
Array
(
[0] => DALQueryResult Object
(
[_results:DALQueryResult:private] => Array
(
[0] => 32048
[id] => 32048
[1] => 1
[relevancy] => 1
)
)
[1] => DALQueryResult Object
(
[_results:DALQueryResult:private] => Array
(
[0] => 32002
[id] => 32002
[1] => 1
[relevancy] => 1
)
)
[2] => DALQueryResult Object
(
[_results:DALQueryResult:private] => Array
(
[0] => 31921
[id] => 31921
[1] => 1
[relevancy] => 1
)
)
[3] => DALQueryResult Object
(
[_results:DALQueryResult:private] => Array
(
[0] => 31868
[id] => 31868
[1] => 1
[relevancy] => 1
)
)
[4] => DALQueryResult Object
(
[_results:DALQueryResult:private] => Array
(
[0] => 31811
[id] => 31811
[1] => 1
[relevancy] => 1
)
)
)
I've tried this function (found here), but haven't had luck:
$sort = array();
foreach($array as $k=>$v) {
$sort['relevancy'][$k] = $v['relevancy'];
$sort['date'][$k] = $v['date'];
}
# sort by event_type desc and then title asc
array_multisort($sort['relevancy'], SORT_DESC, $sort['date'], SORT_DESC, $array);
After running array_multisort function I see this:
Fatal error: Cannot use object of type DALQueryResult as array