php数组转换解决办法

php数组转换

如下数组:
$test = array(
 1 => '1_5000',
 2 => '1_10000',
 3 => '1_7000',
 4 => '1_6500',
 5 => '1_5500',
 6 => '1_10500',
 7 => '0_0',
 8 => '1_9000',
 9 => '1_7000',
 10 => '1_11000',
 11 => '1_5000',
12  => '0_0'
);

我需要对它的value进行拆分,然后按'_'后面的值由高到低排序,中间为0的值顺序不能变化,求解
------解决思路----------------------
usort 的第二个函数是回调函数名(字符串)
你需要确保这个函数是已定义的

如果你使用类的方法作为回调函数,那么应该写作 array($this, '方法名')
这个用法几乎没有文字资料(包括手册)做过说明,但散见于一些代码中