Tengo una matriz como:
$a = array(array("fghfg12" => 34), array("dfgdf23" => 97), array("wetw13" => 65), array("rtyr567" => 18));Quiero ordenar esta matriz por su valor. Eso significa que quiero el resultado como:
$a = array(array("rtyr567" => 18), array("fghfg12" => 34), array("wetw13" => 65), array("dfgdf23" => 97));Para esto estoy usando:
uksort($a , function($key1, $key2) use ($res) { return (array_search($key1, $res) > array_search($key2, $res)); });Otro método:
$arr2ordered = array() ; foreach (array_keys($a) as $key) { $arr2ordered[$key] = $a[$key] ; }Pero no obtuve mi resultado;
Ya probé con esto también:
$price = array(); foreach ($a as $key => $row) { $price[$key] = $row; } array_multisort($price, SORT_DESC, $a); print_r($a);Pero aún así, no obtuve mi resultado.
Como no sabe cuál será la clave de cada matriz interna, puede mapear current() sobre $a para obtener el primer valor en cada matriz interna, luego use esa matriz de valores como el primer argumento de array_multisort() para ordenar $a .
array_multisort(array_map('current', $a), $a);Échale un vistazo: https://3v4l.org/4Zu0q
prueba ese codigo
$a = array(array("fghfg12" => 34), array("dfgdf23" => 97), array("wetw13" => 65), array("rtyr567" => 18)); usort($a, function($a, $b){ return array_values($a) > array_values($b); });Pero solo por su estructura..