1 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用usort ()你可以做到這一點(diǎn)。工作演示。
usort($arr, function ($a, $b) {
return $a['position'] > $b['position'] ? 1 : -1;
});
print '<pre>';
print_r($arr);
在冒泡排序的幫助下。在您的代碼中,您應(yīng)該與兩個(gè)位置進(jìn)行比較,但您的比較是與數(shù)組索引進(jìn)行比較。需要稍作修改:更改$arr[$j] > $arr[$j+1]為$arr[$j]['position'] > $arr[$j+1]['position'].
$n = sizeof($arr);
for($i = 0; $i < $n; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($arr[$j]['position'] > $arr[$j+1]['position']) {
$t = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $t;
}
}
}
工作演示。
注意:我不知道為什么你需要冒泡排序而不是usort(). usort()簡單得多。
- 1 回答
- 0 關(guān)注
- 250 瀏覽
添加回答
舉報(bào)