Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
排序php关联数组_Php_Arrays - Fatal编程技术网

排序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');