C'è quella bella funzione poco usata di usort:

function ordina($a, $b){
if ($a[Campo5] == $b[Campo5]) return 0;
return ($a[Campo5] < $b[Campo5]) ? -1 : 1;
}

$Appo = array("Campo1"=> 1, "Campo2"=>"A", "Campo3"=>4, "Campo5"=>"C");
$Arr[]=$Appo;

$Appo = array("Campo1"=> 2, "Campo2"=>"Z", "Campo3"=>6, "Campo5"=>"B");
$Arr[]=$Appo;

$Appo = array("Campo1"=> 3, "Campo2"=>"X", "Campo3"=>2, "Campo5"=>"F");
$Arr[]=$Appo;

print_r($Arr);

usort($Arr, "ordina");

echo "

";

print_r($Arr);


Usa uasort se devi mantenere le associazioni nel primo livello dell'array