Hola, una opción sería:
Código PHP:
<?php
//--------------------------------------------------------
$productos=array(array("Cod"=>"A",
"Descrip"=>"Action",
"Precio"=>100),
array("Cod"=>"P",
"Descrip"=>"Photo",
"Precio"=>10),
array("Cod"=>"F",
"Descrip"=>"Flash",
"Precio"=>40)
);
//--------------------------------------------------------
//--------------------------------------------------------
function visor($productos){
echo "<table border='1'>";
echo "<tr><td>COD</td><td>DESCRIP</td><td>PRECIO</td></tr>";
foreach($productos as $producto){
echo "<tr>";
foreach($producto as $indice=>$valor){
echo "<td>$valor</td>";
}
echo "</tr>";
}
echo "</table>";
}
$cp_productos = $productos;
//--------------------------------------------------------
echo "SIN ORDENAR<br />";
visor($cp_productos);
//--------------------------------------------------------
//--------------------------------------------------------
echo "ORDENAR POR [DESCRIP](ASC)<br />";
function descAsc($a,$b){
return(strcmp ($a['Descrip'],$b['Descrip']));
}
uasort($cp_productos, 'descAsc');
visor($cp_productos);
//--------------------------------------------------------
//--------------------------------------------------------
echo "ORDENAR POR [PRECIO](ASC)<br />";
function precAsc($a,$b){
return($a['Precio'] > $b['Precio']);
}
uasort($cp_productos, 'precAsc');
visor($cp_productos);
//--------------------------------------------------------
//--------------------------------------------------------
echo "ORDENAR POR [PRECIO](DESC)<br />";
function precDesc($a,$b){
return($a['Precio'] < $b['Precio']);
}
uasort($cp_productos, 'precDesc');
visor($cp_productos);
//--------------------------------------------------------
?>