排序php关联数组
我正在尝试按英里对数组进行排序排序php关联数组,php,arrays,Php,Arrays,我正在尝试按英里对数组进行排序 $i = 0; foreach($results as $key => $value) { echo $results['miles'][$i] . "<br />"; echo $results['postcode'][$i] . "<br />"; echo $results['id'][$i] . "<br />"; echo $results['description'][$i] .
$i = 0;
foreach($results as $key => $value)
{
echo $results['miles'][$i] . "<br />";
echo $results['postcode'][$i] . "<br />";
echo $results['id'][$i] . "<br />";
echo $results['description'][$i] . "<br />";
echo $results['title'][$i] . "<br />";
echo $results['thumbnail'][$i] . "<br />";
$i++;
}
任何帮助都将不胜感激 如果可以,最好的方法是在数据进入脚本之前对其进行排序(如果数据来自SQL,则在那里排序) 如果您需要在PHP中执行此操作,您可以使用
uasort
函数,该函数允许您定义自己的比较:
function compareMiles($a, $b) {
if ($a['miles'] == $b['miles']) {
return 0;
}
return ($a['miles'] < $b['miles']) ? -1 : 1;
}
uasort($results, 'compareMiles');
函数比较($a,$b){
如果($a['miles']=$b['miles'])){
返回0;
}
回报($a['miles']<$b['miles'])?-1:1;
}
uasort($results,'compareMiles');
您可以使用usort()
函数对其进行排序。使用asort()
通过维护索引关联对数组进行排序
有关详细信息和示例,请参阅此能否打印数组结构并将其张贴在此处?可能的问题请用有用的示例详细说明。
function compareMiles($a, $b) {
if ($a['miles'] == $b['miles']) {
return 0;
}
return ($a['miles'] < $b['miles']) ? -1 : 1;
}
uasort($results, 'compareMiles');