Php 如何对数组进行排序
如何通过保留密钥对数组进行排序Php 如何对数组进行排序,php,mysql,Php,Mysql,如何通过保留密钥对数组进行排序 $arr = array(strong text 'a' => array('date' => time() - 1000), 'b' => array('date' => time() - 2000), 'c' => array('date' => time() - 3000), ); 我想根据time()进行排序。有几个PHP函数可以对数组进行排序-您可以在这里看到概述: 由于您既不想按键也不想按
$arr = array(strong text
'a' => array('date' => time() - 1000),
'b' => array('date' => time() - 2000),
'c' => array('date' => time() - 3000),
);
我想根据time()进行排序。有几个PHP函数可以对数组进行排序-您可以在这里看到概述: 由于您既不想按键也不想按值,而是想按您的某些自定义逻辑,因此需要使用以u开头的函数之一。在这3个函数中,有2个可用于按值排序:usort和uasort。它们之间的区别在于,第一个不保留键值关联,第二个保留,这使得uasort成为您需要的函数 uasort接受两个参数-一个要排序的数组和一个回调,如果第一个元素小于、等于或大于第二个元素,则对于两个给定元素,该参数应返回-1、0或1 在您的情况下,这将起作用:
print_r($arr);
uasort($arr, function($e1, $e2) {
if ($e1['date'] == $e2['date']) {
return 0;
}
return ($e1['date'] < $e2['date']) ? -1 : 1;
});
print_r($arr);
print\r($arr);
uasort($arr,函数($e1,$e2){
如果($e1['date']=$e2['date']){
返回0;
}
报税表($e1['date']<$e2['date'])?-1:1;
});
印刷费($arr);
注意:确保不要将uasort的结果分配给$arr-此函数的返回值不是排序数组,而是一个布尔值,表示排序成功。您想按什么排序?根据我想缩短的时间()
print_r($arr);
uasort($arr, function($e1, $e2) {
if ($e1['date'] == $e2['date']) {
return 0;
}
return ($e1['date'] < $e2['date']) ? -1 : 1;
});
print_r($arr);