1
我有一個包含多於2列的多維關聯數組。多維關聯數組的特定順序
我正在嘗試創建一個函數,該函數使用兩個特定列的值對數組進行排序。例如,如果數組中的位置4的value_column_3('hangs_from')取決於數組中位置0的value_column_1('old_id'),則必須將位置4的位置4移動到位置0之後。
這是排序氣泡排序算法。
如何從此多維關聯數組訪問和指定位置,以便我可以進行比較?
我有一個包含多於2列的多維關聯數組。多維關聯數組的特定順序
我正在嘗試創建一個函數,該函數使用兩個特定列的值對數組進行排序。例如,如果數組中的位置4的value_column_3('hangs_from')取決於數組中位置0的value_column_1('old_id'),則必須將位置4的位置4移動到位置0之後。
這是排序氣泡排序算法。
如何從此多維關聯數組訪問和指定位置,以便我可以進行比較?
像這樣的東西應該工作。
$sortedArray = [];
foreach($q1 as $key => $value){
$tempData = [];
foreach($q1 as $key2 => $value2){
if($value2['hangs_from'] === $key){
$tempData[$value2['old_id']] = $value2;
unset($q1[$value2['old_id']]);
}
}
uasort($tempData, function($a, $b){
return ($a['old_id'] < $b['old_id']) ? -1 : 1;
});
$sortedArray[$key] = $value;
unset($q1[$value['old_id']]);
$sortedArray = $sortedArray + $tempData;
}
檢查uasort:https://www.w3schools.com/php/func_array_uasort.asp –
但你如何比較具體地,例如第五和第六的位置?我的意思是,例如嘗試使用冒泡排序:對於(i = 2; i數組(位置j)); ...東西 } } –
其中密鑰1038陣列在最後所需的數組? –