我有一个包含'customer'和'Total'的数据数组。 (下面的例子)。它来自两个不同的数据库。PHP - 尝试按数字字段对数组进行排序
我需要一种基于Total字段对数组进行排序的方法,以便Largest Total位于顶部。但到目前为止,我尝试过的每件事都导致它假设5大于32 [5,32,25,16,11]
实现此目的的最简单方法是什么?我尝试将intval()添加到strcmp函数,但它没有区别?
$arrayName = array();
$arrayName[] = array ('customer' => 'Customer1', 'Total' => 25);
$arrayName[] = array ('customer' => 'Customer2', 'Total' => 16);
$arrayName[] = array ('customer' => 'Customer3', 'Total' => 32);
$arrayName[] = array ('customer' => 'Customer4', 'Total' => 5);
$arrayName[] = array ('customer' => 'Customer5', 'Total' => 11);
print_r($arrayName);
print "</br>";
//Sort the Arrray by Total
function arrSort1($b, $a)
{
return strcmp($a['Total']), $b['Total']);
};
usort($arrayName, "arrSort1");
print_r($arrayName);
“5” *是*大于 “32” 时相比,*较大的词法*。为什么'strcmp'为数字?! – deceze
我从来没有想过这样,好点 – IGGt