Thanks for the additional information. I tried using the indexed notation in the foreach loop as you suggested.
So you'd use 0 and 1 instead of "volume" and "edition".
However, I get the following message: Warning: array_multisort(): Array sizes are inconsistent
Code below.
$test_ar = array();
$test_ar[0][0] = "b";
$test_ar[0][1] = "2";
$test_ar[1][0] = "a";
$test_ar[1][1] = "1";
$test_ar[2][0] = "d";
$test_ar[2][1] = "4";
$test_ar[3][0] = "e";
$test_ar[3][1] = "5";
$test_ar[4][0] = "c";
$test_ar[4][1] = "3";
foreach($test_ar AS $row){
$col0[$key] = $row[0];
$col1[$key] = $row[1];
}
array_multisort($col1, SORT_ASC, $col0, SORT_ASC, $test_ar);